summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-03-31 10:38:44 +1000
committerDave Airlie <airlied@redhat.com>2015-03-31 10:39:31 +1000
commit039e40f0ce8890f818a1833aa538f54bec60b047 (patch)
tree3261ecaf3c85f78b8ecda20721930d668c8c6053
parent9b3186f8a5b3e184e791503572b79c3516e35c3c (diff)
backends/x11: add a flag to denote randr 1.5 is in use.
If the server reports randr 1.5, just cache the information for later patches to use.
-rw-r--r--src/backends/x11/meta-monitor-manager-xrandr.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
index d9505926..c4064ad1 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.c
+++ b/src/backends/x11/meta-monitor-manager-xrandr.c
@@ -58,6 +58,7 @@ struct _MetaMonitorManagerXrandr
XRRScreenResources *resources;
int rr_event_base;
int rr_error_base;
+ gboolean has_randr15;
};
struct _MetaMonitorManagerXrandrClass
@@ -1173,6 +1174,7 @@ meta_monitor_manager_xrandr_init (MetaMonitorManagerXrandr *manager_xrandr)
}
else
{
+ int major_version, minor_version;
/* We only use ScreenChangeNotify, but GDK uses the others,
and we don't want to step on its toes */
XRRSelectInput (manager_xrandr->xdisplay,
@@ -1180,6 +1182,14 @@ meta_monitor_manager_xrandr_init (MetaMonitorManagerXrandr *manager_xrandr)
RRScreenChangeNotifyMask
| RRCrtcChangeNotifyMask
| RROutputPropertyNotifyMask);
+
+ manager_xrandr->has_randr15 = FALSE;
+ XRRQueryVersion (manager_xrandr->xdisplay, &major_version,
+ &minor_version);
+ if (major_version > 1 ||
+ (major_version == 1 &&
+ minor_version >= 5))
+ manager_xrandr->has_randr15 = TRUE;
}
}