After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 637156 - Optimize gtk_widget_shape_combine_region (widget, NULL, ...); on unshaped window
Optimize gtk_widget_shape_combine_region (widget, NULL, ...); on unshaped window
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2010-12-13 16:20 UTC by Owen Taylor
Modified: 2011-07-20 21:54 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Owen Taylor 2010-12-13 16:20:20 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.
Comment 1 André Klapper 2011-07-20 21:54:43 UTC
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?