gdkwindow: Expose all native windows

We need to send exposes for all native windows, even the ones
without an exposure mask set, because otherwise non-native
children of the native window with an exposure mask will
not be drawn.
This commit is contained in:
Alexander Larsson
2013-05-07 11:46:50 +02:00
parent c60395cfc9
commit da0cf5fbff

View File

@@ -3334,7 +3334,13 @@ _gdk_window_process_updates_recurse (GdkWindow *window,
if (!cairo_region_is_empty (clipped_expose_region) &&
!window->destroyed)
{
if (window->event_mask & GDK_EXPOSURE_MASK)
/* While gtk+ no longer handles exposes on anything but native
window we still have to send them to all windows that have the
event mask set for backwards compat. We also need to send
it to all native windows, even if they don't specify the
expose mask, because they may have non-native children that do. */
if (gdk_window_has_impl (window) ||
window->event_mask & GDK_EXPOSURE_MASK)
{
GdkEvent event;