diff options
author | Matthias Clasen <mclasen@redhat.com> | 2008-09-27 03:43:50 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2008-09-27 03:43:50 +0000 |
commit | 1a962664ee0e339c7218c643845a697a6ecd1ad7 (patch) | |
tree | 7a24d924eebb8d3f5d6507bcc55ba5f66b424f28 /gdk | |
parent | abe8d89fd9e7275c46e5556af2824a6fd2dbc787 (diff) | |
download | gtk+-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.c | 12 |
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; |