diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 7a000aa..ec36191 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5049,7 +5049,7 @@ gdk_window_invalidate_rect (GdkWindow *window, if (GDK_WINDOW_DESTROYED (window)) return; - if (private->input_only || !private->viewable) + if (private->input_only || !private->viewable || !GDK_WINDOW_IS_MAPPED (window)) return; if (!rect) @@ -5135,6 +5135,7 @@ gdk_window_invalidate_maybe_recurse (GdkWindow *window, if (private->input_only || !private->viewable || + !GDK_WINDOW_IS_MAPPED (window) || gdk_region_empty (region)) return; @@ -7929,7 +7930,7 @@ _gdk_window_calculate_full_clip_region (GdkWindow *window, if (base_y_offset) *base_y_offset = 0; - if (!private->viewable || private->input_only) + if (!private->viewable || !GDK_WINDOW_IS_MAPPED (window) || private->input_only) return gdk_region_new (); window_get_size_rectangle (window, &visible_rect);