summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkwindow.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index f05857041c..10d83ab066 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -8004,11 +8004,15 @@ gdk_window_set_background (GdkWindow *window,
}
if (!GDK_WINDOW_DESTROYED (window) &&
- gdk_window_has_impl (private) &&
!private->input_only)
{
- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
- impl_iface->set_background (window, &private->bg_color);
+ if (gdk_window_has_impl (private))
+ {
+ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+ impl_iface->set_background (window, &private->bg_color);
+ }
+ else
+ gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
}
}
@@ -8077,11 +8081,15 @@ gdk_window_set_back_pixmap (GdkWindow *window,
private->bg_pixmap = GDK_NO_BG;
if (!GDK_WINDOW_DESTROYED (window) &&
- gdk_window_has_impl (private) &&
!private->input_only)
{
- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
- impl_iface->set_back_pixmap (window, private->bg_pixmap);
+ if (gdk_window_has_impl (private))
+ {
+ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+ impl_iface->set_back_pixmap (window, private->bg_pixmap);
+ }
+ else
+ gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
}
}