summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2008-09-27 03:43:50 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2008-09-27 03:43:50 +0000
commit1a962664ee0e339c7218c643845a697a6ecd1ad7 (patch)
tree7a24d924eebb8d3f5d6507bcc55ba5f66b424f28 /gdk
parentabe8d89fd9e7275c46e5556af2824a6fd2dbc787 (diff)
downloadgtk+-1a962664ee0e339c7218c643845a697a6ecd1ad7.tar.gz
Bug 552956 – Should check composite extension version
2008-09-26 Matthias Clasen <mclasen@redhat.com> Bug 552956 – Should check composite extension version * gdk/x11/gdkdisplay-x11.c: Check that the version of the composite extension is at least 0.4. Patch by Owen Taylor svn path=/trunk/; revision=21530
Diffstat (limited to 'gdk')
-rw-r--r--gdk/x11/gdkdisplay-x11.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index d791975155..e48c16cb41 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -236,7 +236,17 @@ gdk_display_open (const gchar *display_name)
#ifdef HAVE_XCOMPOSITE
if (XCompositeQueryExtension (display_x11->xdisplay,
&ignore, &ignore))
- display_x11->have_xcomposite = TRUE;
+ {
+ int major, minor;
+
+ XCompositeQueryVersion (display_x11->xdisplay, &major, &minor);
+
+ /* Prior to Composite version 0.4, composited windows clipped their
+ * parents, so you had to use IncludeInferiors to draw to the parent
+ * This isn't useful for our purposes, so require 0.4
+ */
+ display_x11->have_xcomposite = major > 0 || (major == 0 && minor >= 4);
+ }
else
#endif
display_x11->have_xcomposite = FALSE;