Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sugar/graphics/icon.py9
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):
"""