Commit afc19eb4 authored by Alexander Larsson's avatar Alexander Larsson

Send expose events on foreign windows

F-Spot needs this as it draws on a foreign (screensaver) window, which
used to work.

I believe this is safe, because in all typical cases the expose
mask will not be set, so we won't do anything, and its what we used to
parent 402d60e5
......@@ -5023,12 +5023,17 @@ _gdk_window_process_updates_recurse (GdkWindow *window,
g_object_unref (window);
else if (private->bg_pixmap != GDK_NO_BG)
else if (private->bg_pixmap != GDK_NO_BG &&
private->window_type != GDK_WINDOW_FOREIGN)
/* No exposure mask set, so nothing will be drawn, the
* app relies on the background being what it specified
* for the window. So, we need to clear this manually.
* For foreign windows if expose is not set that generally
* means some other client paints them, so don't clear
* there.
* We use begin/end_paint around the clear so that we can
* piggyback on the implicit paint */
......@@ -5066,8 +5071,7 @@ gdk_window_process_updates_internal (GdkWindow *window)
GdkRegion *update_area = private->update_area;
private->update_area = NULL;
if (_gdk_event_func && gdk_window_is_viewable (window) &&
private->window_type != GDK_WINDOW_FOREIGN)
if (_gdk_event_func && gdk_window_is_viewable (window))
GdkRegion *expose_region;
gboolean end_implicit;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment