From 883bfd207cc8f28b11008b809e8cea5db98ded8a Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 1 Feb 2008 00:10:22 -0500 Subject: [PATCH] check for the XFixes, XRender, XComposite, and XDamage extensions when USE_COMPOSITING is enabled by configure --- obt/display.c | 29 ++++++++++++++++++++++++++--- obt/display.h | 9 ++++++++- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/obt/display.c b/obt/display.c index 97a2992b..22f97db8 100644 --- a/obt/display.c +++ b/obt/display.c @@ -47,6 +47,12 @@ gboolean obt_display_extension_sync = FALSE; gint obt_display_extension_sync_basep; gboolean obt_display_extension_composite = FALSE; gint obt_display_extension_composite_basep; +gboolean obt_display_extension_damage = FALSE; +gint obt_display_extension_damage_basep; +gboolean obt_display_extension_render = FALSE; +gint obt_display_extension_render_basep; +gboolean obt_display_extension_fixes = FALSE; +gint obt_display_extension_fixes_basep; static gint xerror_handler(Display *d, XErrorEvent *e); @@ -107,11 +113,10 @@ gboolean obt_display_open(const char *display_name) XSyncQueryExtension(d, &obt_display_extension_sync_basep, &junk) && XSyncInitialize(d, &junk, &junk); if (!obt_display_extension_sync) - g_message("X Sync extension is not present on the server or is an " - "incompatible version"); + g_message("X Sync extension is not present on the server"); #endif -#ifdef USE_XCOMPOSITE +#ifdef USE_COMPOSITING if (XCompositeQueryExtension(d, &obt_display_extension_composite_basep, &junk)) { @@ -125,6 +130,24 @@ gboolean obt_display_open(const char *display_name) if (!obt_display_extension_composite) g_message("X Composite extension is not present on the server or " "is an incompatible version"); + + obt_display_extension_damage = + XDamageQueryExtension(d, &obt_display_extension_damage_basep, + &junk); + if (!obt_display_extension_damage) + g_message("X Damage extension is not present on the server"); + + obt_display_extension_render = + XRenderQueryExtension(d, &obt_display_extension_render_basep, + &junk); + if (!obt_display_extension_render) + g_message("X Render extension is not present on the server"); + + obt_display_extension_fixes = + XFixesQueryExtension(d, &obt_display_extension_fixes_basep, + &junk); + if (!obt_display_extension_fixes) + g_message("X Fixes extension is not present on the server"); #endif obt_prop_startup(); diff --git a/obt/display.h b/obt/display.h index 5d995338..678f9a8d 100644 --- a/obt/display.h +++ b/obt/display.h @@ -38,10 +38,11 @@ #ifdef SYNC #include #endif -#ifdef USE_XCOMPOSITE +#ifdef USE_COMPOSITING #include #include #include +#include #endif G_BEGIN_DECLS @@ -60,6 +61,12 @@ extern gboolean obt_display_extension_sync; extern gint obt_display_extension_sync_basep; extern gboolean obt_display_extension_composite; extern gint obt_display_extension_composite_basep; +extern gboolean obt_display_extension_damage; +extern gint obt_display_extension_damage_basep; +extern gboolean obt_display_extension_render; +extern gint obt_display_extension_render_basep; +extern gboolean obt_display_extension_fixes; +extern gint obt_display_extension_fixes_basep; extern Display* obt_display; -- 2.34.1