Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-10-23 16:31:13 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-10-23 16:31:13 (GMT)
commit31f6ffe916dd40d684389bfc247b126fac5c5320 (patch)
tree611ee3d2e654cd9d3c274551aaadc58ec1c2d8ba /sugar
parent1ed54506516e1b2ea7e506b182f07b66978ab0ba (diff)
Fix up buffering. Improve perf and avoid flickering.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/graphics/canvasicon.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/sugar/graphics/canvasicon.py b/sugar/graphics/canvasicon.py
index 2d983ae..da3d8ca 100644
--- a/sugar/graphics/canvasicon.py
+++ b/sugar/graphics/canvasicon.py
@@ -88,18 +88,20 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
hippo.CanvasBox.__init__(self, **kwargs)
self._buffer = None
- self._buffer_size = 0.0
self.connect('button-press-event', self._button_press_event_cb)
def do_set_property(self, pspec, value):
if pspec.name == 'icon-name':
self._icon_name = value
+ self._buffer = None
self.emit_paint_needed(0, 0, -1, -1)
elif pspec.name == 'color':
+ self._buffer = None
self._color = value
self.emit_paint_needed(0, 0, -1, -1)
elif pspec.name == 'size':
+ self._buffer = None
self._size = value
self.emit_request_changed()
@@ -112,10 +114,6 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
return self._color
def _get_buffer(self, cr, handle, size):
- if self._buffer and self._buffer_size != size:
- del self._buffer
- self._buffer = None
-
if self._buffer == None:
target = cr.get_target()
surface = target.create_similar(cairo.CONTENT_COLOR_ALPHA,