[cairo] Compile failing in xcb backend

James Cloos cloos at jhcloos.com
Tue May 8 23:33:05 PDT 2007

I've rebased the clone.  Now compile tested. :)

There is still breakage in cairo-directfb-surface.c,
but this gets xcb-surface to compile.

NB that it may be the case that instead of the first line of this patch
the proper solution is to change struct cairo_xcb_surface_t to have the
xrender_format member be a xcb_render_pictforminfo_t* rather than just
a xcb_render_pictforminfo_t; such a change would mirror the style of
struct cairo_xlib_surface_t and its xrender_format member....

But this less invasive change does at least let it compile.

Please consider pulling from:
git://people.freedesktop.org/~cloos/cairo.git master

to get this change:

commit d3baedbc5204d14259054f8048945dff5da0ca6c
Author:     James Cloos <cloos at jhcloos.com>
AuthorDate: Wed May 9 02:25:57 2007 -0400
Commit:     James Cloos <cloos at jhcloos.com>
CommitDate: Wed May 9 02:25:57 2007 -0400

    [cairo-xcb-surface] Fix typos from commit a8c8e17d
    Make _cairo_xcb_surface_is_similar() compile.

diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c
index 304300a..385009c 100644
--- a/src/cairo-xcb-surface.c
+++ b/src/cairo-xcb-surface.c
@@ -1584,16 +1584,16 @@ _cairo_xcb_surface_is_similar (void *surface_a,
     cairo_xcb_surface_t *a = surface_a;
     cairo_xcb_surface_t *b = surface_b;
-    xcb_render_pictforminfo_t xrender_format;
+    xcb_render_pictforminfo_t *xrender_format;
-    if (! _cairo_xcb_surface_same_screen (dst, src))
+    if (! _cairo_xcb_surface_same_screen (a, b))
 	return FALSE;
     /* now check that the target is a similar format */
     xrender_format = _CAIRO_FORMAT_TO_XRENDER_FORMAT (b->dpy,
 	    _cairo_format_from_content (content));
-    return a->xrender_format == xrender_format;
+    return &a->xrender_format == xrender_format;
 static cairo_status_t

James Cloos <cloos at jhcloos.com>         OpenPGP: 1024D/ED7DAEA6

More information about the cairo mailing list