[cairo-commit] 3 commits - AUTHORS src/cairo-quartz-image-surface.c src/cairo-xlib-screen.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Nov 5 02:15:33 PST 2009

 AUTHORS                          |    1 +
 src/cairo-quartz-image-surface.c |    2 +-
 src/cairo-xlib-screen.c          |    1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 9775f44436ffaf54931614d1867bcb7d147acd06
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Nov 5 10:13:34 2009 +0000

    AUTHORS: Add Andrea Canciani

diff --git a/AUTHORS b/AUTHORS
index 5f8dd59..45509f8 100644
@@ -10,6 +10,7 @@ Billy Biggs <vektor at dumbterm.net> Pixman code merge. Optimization. Fixes for sub
 Hans Breuer <hans at breuer.org> win32 bug fixes, build fixes, and improvements
 Brian Cameron <brian.cameron at sun.com> Flag bug in Sun's X server
 Carlos Garcia Campos <carlosgc at gnome.org> libspectre integration into the test-suite
+Andrea Canciani <ranma42 at gmail.com> Bugs, quartz backend improvements and type 6/7 patterns.
 Damien Carbery <damien.carbery at sun.com> Build fixes
 Andrew Chant <andrew.chant at utoronto.ca> Adding const where needed
 Steve Chaplin <stevech1097 at yahoo.com.au> Bug fixes for PNG reading
commit d51915f873da8d40740a908c86f02e972e358be9
Author: Andrea Canciani <ranma42 at gmail.com>
Date:   Wed Nov 4 16:15:48 2009 +0100

    xlib: Fix double free
    Both _cairo_xlib_call_close_display_hooks and _cairo_xlib_screen_destroy
    invoke _cairo_xlib_screen_close_display, which frees all the cached
    GCs, but (if HAS_ATOMIC_OPS is undefined) doesn't mark them as freed,
    thus freeing them agin upon the second invocation.

diff --git a/src/cairo-xlib-screen.c b/src/cairo-xlib-screen.c
index 8e29475..09a2a81 100644
--- a/src/cairo-xlib-screen.c
+++ b/src/cairo-xlib-screen.c
@@ -282,6 +282,7 @@ _cairo_xlib_screen_close_display (cairo_xlib_screen_t *info)
     } while (_cairo_atomic_int_cmpxchg (&info->gc_depths, old, 0) != old);
     old = info->gc_depths;
+    info->gc_depths = 0;
     for (i = 0; i < ARRAY_LENGTH (info->gc); i++) {
commit 7c1424a315b677ca119d11b7ced1d4c969dde568
Author: Andrea Canciani <ranma42 at gmail.com>
Date:   Sun Oct 18 08:59:33 2009 +0200

    quartz: Fix compilation
    The function _cairo_image_surface_create_for_content does not exist.
    The correct name of the function is instead _cairo_image_surface_create_with_content.

diff --git a/src/cairo-quartz-image-surface.c b/src/cairo-quartz-image-surface.c
index 7aa7ffd..27d8d6d 100644
--- a/src/cairo-quartz-image-surface.c
+++ b/src/cairo-quartz-image-surface.c
@@ -59,7 +59,7 @@ _cairo_quartz_image_surface_create_similar (void *asurface,
     cairo_surface_t *result;
     cairo_surface_t *isurf =
-	_cairo_image_surface_create_for_content (content, width, height);
+	_cairo_image_surface_create_with_content (content, width, height);
     if (cairo_surface_status(isurf))
 	return isurf;

More information about the cairo-commit mailing list