diff options
-rw-r--r-- | src/sugar/graphics/icon.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/sugar/graphics/icon.py b/src/sugar/graphics/icon.py index 72254b6..06fc823 100644 --- a/src/sugar/graphics/icon.py +++ b/src/sugar/graphics/icon.py @@ -681,7 +681,6 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): Returns ------- None - """ if self._buffer.fill_color != value: self._buffer.fill_color = value @@ -831,7 +830,7 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): def set_alpha(self, alpha): if self._alpha != alpha: self._alpha = alpha - self.emit_request_changed() + self.emit_paint_needed(0, 0, -1, -1) alpha = gobject.property( type=float, setter=set_alpha) @@ -917,7 +916,11 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem): y = (height - surface.get_height()) / 2 cr.set_source_surface(surface, x, y) - cr.paint() + if self._alpha == 1.0: + cr.paint() + else: + cr.paint_with_alpha(self._alpha) + def do_get_content_width_request(self): """ |