forked from AuroraMiddleware/gtk
gdk: Make background changes queue a repaint
For client-side windows, we need to queue a repaint when the background changes. For native windows, the windowing system does take care of it, but client-side windows are our own, so we gotta do it manually. https://bugzilla.gnome.org/show_bug.cgi?id=652102
This commit is contained in:
parent
78ce7a4925
commit
254b9a4c54
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user