[Python-apps-team] Bug#848356: Upstream patch available for 1.2.0
Andrew Chadwick
a.t.chadwick at gmail.com
Thu Feb 2 12:22:11 UTC 2017
Upstream bug report: https://github.com/mypaint/mypaint/issues/735
I have been made aware that testing is frozen
https://release.debian.org/stretch/freeze_policy.html
This bug may also be heavily dependent on your exact GTK version
numbers, since the regression in MyPaint was introduced by an upgrade
to GTK 3.22.4 and no other change.
Aleksey: please could you re-test with MyPaint 1.2.0-3 from testing/unstable?
A patch is available upstream:
https://github.com/mypaint/mypaint/commit/c225d1132a7da956a35a32534e91a42d22cdb8e1
Raw patch follows.
-----------------------------8<----------------------------
diff --git a/gui/workspace.py b/gui/workspace.py
index 7f4f4abe..2af856a5 100644
--- a/gui/workspace.py
+++ b/gui/workspace.py
@@ -223,6 +223,7 @@ class Workspace (Gtk.VBox, Gtk.Buildable):
lpaned.pack1(lscrolls, resize=False, shrink=False)
lpaned.pack2(rpaned, resize=True, shrink=False)
rpaned.pack2(rscrolls, resize=False, shrink=False)
+ rpaned.pack1(cscrolls, resize=True, shrink=False)
self.pack_start(lpaned, True, True, 0)
# Autohide
self._autohide_enabled = True
@@ -397,43 +398,21 @@ class Workspace (Gtk.VBox, Gtk.Buildable):
def set_canvas(self, widget):
"""Canvas widget (setter)"""
assert self.get_canvas() is None
- self._rpaned.pack1(widget, resize=True, shrink=False)
- self._update_canvas_scrolledwindow()
+ widget = self._canvas_scrolls.add(widget)
def get_canvas(self):
"""Canvas widget (getter)"""
- widget = self._rpaned.get_child1()
- if widget is self._canvas_scrolls:
- widget = widget.get_child()
+ widget = self._canvas_scrolls.get_child()
return widget
def _update_canvas_scrolledwindow(self):
- """Update whether the canvas has a surrounding ScrolledWindow
-
- In fullscreen mode, the ScrolledWindow is removed from the widget
- hierarchy so that the canvas widget can occupy the full size of the
- screen. In nonfullscreen mode, the scrollers provide a pretty frame.
- """
- canvas = self.get_canvas()
- parent = canvas.get_parent()
+ """Update the canvas ScrolledWindow's border."""
+ parent = self._canvas_scrolls
if not self._is_fullscreen:
- if parent is self._canvas_scrolls:
- return
- logger.debug("Adding GtkScrolledWindow around canvas")
- assert parent is self._rpaned
- self._rpaned.remove(canvas)
- self._rpaned.pack1(self._canvas_scrolls, resize=True, shrink=False)
- self._canvas_scrolls.add(canvas)
- self._canvas_scrolls.show_all()
+ parent.set_shadow_type(Gtk.ShadowType.NONE)
else:
- if parent is self._rpaned:
- return
- logger.debug("Removing GtkScrolledWindow around canvas")
- assert parent is self._canvas_scrolls
- self._canvas_scrolls.remove(canvas)
- self._rpaned.remove(self._canvas_scrolls)
- self._rpaned.pack1(canvas, resize=True, shrink=False)
- self._canvas_scrolls.hide()
+ parent.set_shadow_type(Gtk.ShadowType.IN)
+ # TODO: this should really be done with CSS now.
## Tool widgets
----------------------------->8----------------------------
--
Andrew Chadwick
More information about the Python-apps-team
mailing list