diff --git a/src/sugar3/graphics/colorbutton.py b/src/sugar3/graphics/colorbutton.py index 065a55e6..3f205ff7 100644 --- a/src/sugar3/graphics/colorbutton.py +++ b/src/sugar3/graphics/colorbutton.py @@ -541,18 +541,20 @@ class ColorToolButton(Gtk.ToolItem): def do_draw(self, cr): child = self.get_child() - allocation = self.get_allocation() if self._palette and self._palette.is_up(): - invoker = self._palette.props.invoker - invoker.draw_rectangle(cr, self._palette) - allocation = self.get_allocation() # draw a black background, has been done by the engine before cr.set_source_rgb(0, 0, 0) cr.rectangle(0, 0, allocation.width, allocation.height) cr.paint() - Gtk.ToolButton.do_draw(self, cr) + Gtk.ToolItem.do_draw(self, cr) + + if self._palette and self._palette.is_up(): + invoker = self._palette.props.invoker + invoker.draw_rectangle(cr, self._palette) + + return False def __notify_change(self, widget, pspec): self.notify(pspec.name) diff --git a/src/sugar3/graphics/toggletoolbutton.py b/src/sugar3/graphics/toggletoolbutton.py index e893c7a9..dad39a40 100644 --- a/src/sugar3/graphics/toggletoolbutton.py +++ b/src/sugar3/graphics/toggletoolbutton.py @@ -125,13 +125,8 @@ class ToggleToolButton(Gtk.ToggleToolButton): getter=get_accelerator) def do_draw(self, cr): - allocation = self.get_allocation() child = self.get_child() - if self.palette and self.palette.is_up(): - invoker = self.palette.props.invoker - invoker.draw_rectangle(cr, self.palette) - allocation = self.get_allocation() # draw a black background, has been done by the engine before cr.set_source_rgb(0, 0, 0) @@ -140,4 +135,10 @@ class ToggleToolButton(Gtk.ToggleToolButton): Gtk.ToggleToolButton.do_draw(self, cr) + if self.palette and self.palette.is_up(): + invoker = self.palette.props.invoker + invoker.draw_rectangle(cr, self.palette) + + return False + palette = property(get_palette, set_palette)