[sugar] Fwd: Slightly incompatible HippoCanvas change
Marco Pesenti Gritti
mpgritti at gmail.com
Thu May 8 13:59:51 EDT 2008
This sounds like it *might* help the shell graphic perf. I'm pretty
sure there is code that needs to be adapted, though.
---------- Forwarded message ----------
From: Owen Taylor <otaylor at redhat.com>
Date: Thu, May 8, 2008 at 7:55 PM
Subject: Slightly incompatible HippoCanvas change
To: online-desktop-list at gnome.org, mugshot at googlegroups.com
I finally got around to fixing:
Which was that *any* call to hippo_canvas_emit_resize_needed() would
cause the entire canvas to repaint, rather than just the parts that
ended up getting resized.
(This caused prelighting in the bigboard to be very slow, etc. It
was a bad thing.)
With the fix, I made hippo_canvas_item_emit_resize_needed() act like
gtk_widget_queue_resize_no_redraw() not like gtk_widget_queue_draw():
it doesn't automatically cause the item to be redrawn unless it
This means that some code needs to call
hippo_canvas_item_paint_needed(item, 0, 0, -1, -1) as well.
(E.g.: changing the orientation of a box only needs to call
emit_resize_needed(), since there is no redrawing unless things
resize or move around, but changing the border width of a box needs
to call both emit_resize_needed() and emit_paint_needed(), since that
can change the drawn border and background.)
I went through bigboard and the Mugshot client, and found exactly one
affected call to emit_resize_needed (plus some in hippo-canvas itself),
and the one call in the Mugshot client didn't matter in practice, but
the potential for incompatibility exists.
online-desktop-list mailing list
online-desktop-list at gnome.org
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the Sugar