GNOME Bugzilla – Bug 655812
St: fix container paint volumes
Last modified: 2011-08-03 13:17:24 UTC
I don't have an easy test case for this; it showed up in the on-screen keyboard with a bunch of local patches. (The top of the message tray would get clipped when a summary notification bubble was popped up, because the tray is drawn at negative coordinates relative to its container.) But anyway, the comments in clutter-box.c say that this is what you're supposed to do. (This patch leaves ShellStack still broken, but bug 646934 would fix that.)
Created attachment 193065 [details] [review] St: fix container paint volumes If a container is not clip-to-allocation, then its get_paint_volume() needs to include the paint volumes of all of its children, since they (or their children) may paint outside the container's allocation. Also, if the superclass get_paint_volume() returns FALSE, then the subclass should return FALSE too.
Review of attachment 193065 [details] [review]: Looks good. ::: src/st/st-container.c @@ +441,3 @@ + { + /* Based on ClutterGroup/ClutterBox; include the children's + * paint volumes, since they may color outside the lines. "color outside the lines" sounds a bit confusing - "paint outside the allocation"?
sorry, being idiomatic :) http://wiki.answers.com/Q/What_is_the_meaning_of_the_phrase_%27colors_outside_the_line%27
pushed with clearer comment Attachment 193065 [details] pushed as dbeab0e - St: fix container paint volumes