gtk+ r20893 - in trunk: . gdk/x11
- From: fcrozat svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20893 - in trunk: . gdk/x11
- Date: Tue, 22 Jul 2008 17:41:40 +0000 (UTC)
Author: fcrozat
Date: Tue Jul 22 17:41:39 2008
New Revision: 20893
URL: http://svn.gnome.org/viewvc/gtk+?rev=20893&view=rev
Log:
2008-07-22 Frederic Crozat <fcrozat mandriva com>
* gdk/x11/gdkscreen-x11.c: Don't use RandR 1.2
if driver is detected as randr12_compat (ie X driver
is not RandR 1.2 compliant). Fixes multihead with
such drivers. Bug #543317.
Modified:
trunk/ChangeLog
trunk/gdk/x11/gdkscreen-x11.c
Modified: trunk/gdk/x11/gdkscreen-x11.c
==============================================================================
--- trunk/gdk/x11/gdkscreen-x11.c (original)
+++ trunk/gdk/x11/gdkscreen-x11.c Tue Jul 22 17:41:39 2008
@@ -674,6 +674,7 @@
XRRScreenResources *resources;
int i;
GArray *monitors;
+ gboolean randr12_compat = FALSE;
if (!display_x11->have_randr12)
return FALSE;
@@ -691,6 +692,9 @@
XRROutputInfo *output =
XRRGetOutputInfo (dpy, resources, resources->outputs[i]);
+ /* Non RandR1.2 X driver have output name "default" */
+ randr12_compat |= !g_strcmp0(output->name, "default");
+
if (output->crtc)
{
GdkX11Monitor monitor;
@@ -718,6 +722,13 @@
XRRFreeScreenResources (resources);
+ /* non RandR 1.2 X driver doesn't return any usable multihead data */
+ if (randr12_compat)
+ {
+ g_array_free (monitors, TRUE);
+ return FALSE;
+ }
+
screen_x11->n_monitors = monitors->len;
screen_x11->monitors = (GdkX11Monitor *)g_array_free (monitors, FALSE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]