[sugar] Fwd: Slightly incompatible HippoCanvas change

Marco Pesenti Gritti mpgritti
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.

Marco


---------- 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:

  http://bugzilla.mugshot.org/show_bug.cgi?id=1194

 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
 resized.

 This means that some code needs to call
 hippo_canvas_item_emit_resize_needed(item) and
 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.

 - Owen


_______________________________________________
 online-desktop-list mailing list
 online-desktop-list at gnome.org
 http://mail.gnome.org/mailman/listinfo/online-desktop-list
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: signature.asc
Url: http://lists.laptop.org/pipermail/sugar/attachments/20080508/b9c9770c/attachment.asc 



More information about the Sugar-devel mailing list