summaryrefslogtreecommitdiff
path: root/src/cairo-xlib-fallback-compositor.c
diff options
context:
space:
mode:
authorUli Schlachter <psychon@znc.in>2012-04-11 21:37:55 +0200
committerUli Schlachter <psychon@znc.in>2012-04-11 21:37:55 +0200
commit07fc63676dfdaa57ed919ad7be8f59c97c615473 (patch)
tree9b1a03098a9ef405a0d23e86b3e8d556aeef3447 /src/cairo-xlib-fallback-compositor.c
parent09de481ce5f6ed1c38c0d5bf3af7c60642c4c947 (diff)
downloadcairo-07fc63676dfdaa57ed919ad7be8f59c97c615473.tar.gz
xlib: Disable fallback compositor with xlib-xcb
When xlib-xcb is enabled, this is just dead code which is never used. Thus, this shouldn't hurt. However, this does include cairo-xlib-private.h. Shouldn't be a problem? Well, that header contains static inline functions which some compiler on Solaris will emit even when they are unused. This brings us to the real problem: That static inline function refers to a function which isn't compiled with xlib-xcb and thus linking fails with undefined symbols. This can be reproduced with GCC by adding a call to _cairo_xlib_screen_put_gc(NULL, NULL, 0, 0); to _cairo_xlib_fallback_compositor_get. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48489 Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'src/cairo-xlib-fallback-compositor.c')
-rw-r--r--src/cairo-xlib-fallback-compositor.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cairo-xlib-fallback-compositor.c b/src/cairo-xlib-fallback-compositor.c
index 539192684..7d45cd143 100644
--- a/src/cairo-xlib-fallback-compositor.c
+++ b/src/cairo-xlib-fallback-compositor.c
@@ -42,6 +42,8 @@
#include "cairoint.h"
+#if !CAIRO_HAS_XLIB_XCB_FUNCTIONS
+
#include "cairo-xlib-private.h"
#include "cairo-compositor-private.h"
@@ -52,3 +54,5 @@ _cairo_xlib_fallback_compositor_get (void)
/* XXX Do something interesting here to mitigate fallbacks ala xcb */
return &_cairo_fallback_compositor;
}
+
+#endif /* !CAIRO_HAS_XLIB_XCB_FUNCTIONS */