GNOME Bugzilla – Bug 637156
Optimize gtk_widget_shape_combine_region (widget, NULL, ...); on unshaped window
Last modified: 2011-07-20 21:54:43 UTC
Right now, if you call gtk_widget_shape_combine_mask/region() with a NULL mask/region on a window that is already unshaped window, it recomputes the visible area of all the children. And GTK+ does that a fair bit. See Bug 637155 for a particular example. (And a test case that triggers the problem.) An addition to gdk_window_shape_combine_region() like: if (!private->shaped && shape_region == NULL) return;; should help.
Commit message of http://git.gnome.org/browse/gtk+/commit/?id=208d717fefb7d1d1faa0dada132a290036b458d0 mentions this bug report, and that commit might have triggered bug 643020. Owen / Matthias: Could somebody take a look over there and comment?