diff options
author | Anders Carlsson <andersca@imendio.com> | 2006-04-12 08:23:01 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2006-04-12 08:23:01 +0000 |
commit | 3d1e71073edcecc947696cdb08a77dce0fdfa60e (patch) | |
tree | efe3ab451ca50c1947599aa84d32cd5f1bf1c78f /gdk | |
parent | e0e24d0313f515e7c10dbd7715f6ee31e79f2b64 (diff) | |
download | gtk+-3d1e71073edcecc947696cdb08a77dce0fdfa60e.tar.gz |
Don't flush if we're inside a begin_paint/end_paint pair.
2006-04-12 Anders Carlsson <andersca@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c:
(_gdk_quartz_drawable_release_context):
Don't flush if we're inside a begin_paint/end_paint pair.
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_end_paint):
Free clip region here.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/quartz/gdkdrawable-quartz.c | 3 | ||||
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdk/quartz/gdkdrawable-quartz.c b/gdk/quartz/gdkdrawable-quartz.c index 6e5cdd8525..617daf962e 100644 --- a/gdk/quartz/gdkdrawable-quartz.c +++ b/gdk/quartz/gdkdrawable-quartz.c @@ -654,7 +654,8 @@ _gdk_quartz_drawable_release_context (GdkDrawable *drawable, CGContextRef contex CGContextRestoreGState (context); CGContextSetAllowsAntialiasing (context, TRUE); - if (impl->in_paint_rect_count == 0) + if (impl->in_paint_rect_count == 0 && + impl->begin_paint_count == 0) CGContextFlush (context); [impl->view unlockFocus]; diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 92c915c9d3..e94ebfe7d8 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -172,6 +172,12 @@ gdk_window_impl_quartz_end_paint (GdkPaintable *paintable) GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (paintable); impl->begin_paint_count --; + + if (impl->begin_paint_count == 0) + { + gdk_region_destroy (impl->paint_clip_region); + impl->paint_clip_region = NULL; + } } static void |