Fix the drawing method of _IconWidget, used by IconTray

Invoker draw_rectangle() now receives a Cairo context, as can be seen in [1]

The testcase is also fixed by this commit.

Signed-off-by: Manuel Quiñones <manuq@laptop.org>
Acked-by: Simon Schampijer <simon@laptop.org>

[1] http://git.sugarlabs.org/sugar-toolkit-gtk3/sugar-toolkit-gtk3/blobs/master/src/sugar3/graphics/palettewindow.py#line1018
master
Manuel Quiñones 12 years ago
parent 09e9373612
commit e2ddd70c13

@ -415,13 +415,13 @@ class _IconWidget(Gtk.EventBox):
self.add(self._icon)
self._icon.show()
def do_expose_event(self, event):
def do_draw(self, cr):
palette = self.get_parent().palette
if palette and palette.is_up():
invoker = palette.props.invoker
invoker.draw_rectangle(event, palette)
invoker.draw_rectangle(cr, palette)
Gtk.EventBox.do_expose_event(self, event)
Gtk.EventBox.do_draw(self, cr)
def get_icon(self):
return self._icon

@ -16,6 +16,7 @@
# Boston, MA 02111-1307, USA.
from gi.repository import Gtk
from gi.repository import GObject
from sugar3.graphics.toolbutton import ToolButton

@ -31,10 +31,10 @@ test = common.Test()
vbox = Gtk.VBox()
tray = HTray()
vbox.pack_start(tray, False)
vbox.pack_start(tray, False, False, 0)
tray.show()
theme_icons = Gtk.IconTheme.get_default().list_icons()
theme_icons = Gtk.IconTheme.get_default().list_icons(context=None)
for i in range(0, 100):
button = TrayButton(icon_name=theme_icons[i])
@ -42,7 +42,7 @@ for i in range(0, 100):
button.show()
tray = HTray()
vbox.pack_start(tray, False)
vbox.pack_start(tray, False, False, 0)
tray.show()
for i in range(0, 10):
@ -53,7 +53,7 @@ for i in range(0, 10):
hbox = Gtk.HBox()
tray = VTray()
hbox.pack_start(tray, False)
hbox.pack_start(tray, False, False, 0)
tray.show()
for i in range(0, 100):
@ -62,7 +62,7 @@ for i in range(0, 100):
button.show()
tray = VTray()
hbox.pack_start(tray, False)
hbox.pack_start(tray, False, False, 0)
tray.show()
for i in range(0, 4):

Loading…
Cancel
Save