31 lines
1001 B
Diff
31 lines
1001 B
Diff
|
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);
|