diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-06-20 20:20:14 -0400 |
---|---|---|
committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-06-20 20:41:55 -0400 |
commit | be30e440c350f0f3e0f2572f7f3eab54ef96af0e (patch) | |
tree | 26a739ac35b8044ccea2b4fb9f0c243608d4d1c6 /gdk/gdkinternals.h | |
parent | d48adf9cee7e340acd7f8b9a5f9716695352b848 (diff) | |
download | gtk+-be30e440c350f0f3e0f2572f7f3eab54ef96af0e.tar.gz |
gdkwindow: Remove the ability to call begin_paint_region more than once
Previously, each begin_paint_region added to a stack of current paints,
and when end_paint was called, the paint was popped off of the stack and
the surface was composited into the parent paint surface.
However, the code was broken in the case of a backend like Wayland which
didn't keep track of nested calls and simply wiped and returned the
native impl backing surface every time.
Since this feature is flat out unused by GTK+ and we don't want to
really support tricksy things like these for other clients, just remove
the feature. If somebody does call begin_paint_region more than once,
warn and return without doing anything.
Diffstat (limited to 'gdk/gdkinternals.h')
-rw-r--r-- | gdk/gdkinternals.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 56c7725048..32754a384d 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -205,7 +205,11 @@ struct _GdkWindow cairo_pattern_t *background; - GSList *paint_stack; + struct { + cairo_region_t *region; + cairo_surface_t *surface; + gboolean surface_needs_composite; + } current_paint; cairo_region_t *update_area; guint update_freeze_count; |