From 40558cb15e5f7276a29847b00c9dae08b9d9380e Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 12 May 2007 10:10:49 +0100 Subject: [cairo-xlib-screen] Clear the gc_needs_clip_reset after use. After consuming the GC we need to unset the clip reset flag, so that if we try and get a new GC without first putting a fresh one we do not try to call XSetClipMask on a NULL GC. (Fixes http://bugs.freedesktop.org/show_bug.cgi?id=10921) --- src/cairo-xlib-screen.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/cairo-xlib-screen.c') diff --git a/src/cairo-xlib-screen.c b/src/cairo-xlib-screen.c index 4ff3b8a47..f75774206 100644 --- a/src/cairo-xlib-screen.c +++ b/src/cairo-xlib-screen.c @@ -384,8 +384,10 @@ _cairo_xlib_screen_get_gc (cairo_xlib_screen_info_t *info, int depth) gc = info->gc[depth]; info->gc[depth] = NULL; - if (info->gc_needs_clip_reset & (1 << depth)) + if (info->gc_needs_clip_reset & (1 << depth)) { XSetClipMask(info->display->display, gc, None); + info->gc_needs_clip_reset &= ~(1 << depth); + } return gc; } -- cgit v1.2.1