diff options
author | Marco 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) |
commit | 31f6ffe916dd40d684389bfc247b126fac5c5320 (patch) | |
tree | 611ee3d2e654cd9d3c274551aaadc58ec1c2d8ba /sugar | |
parent | 1ed54506516e1b2ea7e506b182f07b66978ab0ba (diff) |
Fix up buffering. Improve perf and avoid flickering.
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/graphics/canvasicon.py | 8 |
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, |