summaryrefslogtreecommitdiff
blob: 9c31fcb3ffc398d221480fed62e4119c89141b86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From a4f157beb6c60855f64d011cb2ad2f93071da461 Mon Sep 17 00:00:00 2001
From: Kai-Uwe Behrmann <ku.b@gmx.de>
Date: Sat, 15 Dec 2012 16:10:22 +0100
Subject: [PATCH] * [oyX1]: support pur XRandR without Xinerama

... as was seen with Intel's driver.
---
 src/modules/devices/oyranos_monitor_x11.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/modules/devices/oyranos_monitor_x11.c b/src/modules/devices/oyranos_monitor_x11.c
index b79b2d6..f8546b3 100644
--- a/src/modules/devices/oyranos_monitor_x11.c
+++ b/src/modules/devices/oyranos_monitor_x11.c
@@ -1278,6 +1278,8 @@ oyX1Monitor_s* oyX1Monitor_newFrom_      ( const char        * display_name,
       */
     }
 
+    expensive = 1;
+
     if((major_versionp*100 + minor_versionp) >= 102 && expensive)
     {
       Window w = RootWindow(display, oyX1Monitor_screen_(disp));
@@ -1347,11 +1349,11 @@ oyX1Monitor_s* oyX1Monitor_newFrom_      ( const char        * display_name,
           if(crtc_info)
           {
             /* compare with Xinerama geometry */
-            if(
-               geo[0] == crtc_info->x &&
-               geo[1] == crtc_info->y &&
-               geo[2] == crtc_info->width &&
-               geo[3] == crtc_info->height )
+            if(!(geo[0] != -1 && geo[1] != -1 && geo[2] != -1 && geo[3] != -1)||
+               (geo[0] == crtc_info->x &&
+                geo[1] == crtc_info->y &&
+                geo[2] == crtc_info->width &&
+                geo[3] == crtc_info->height ) )
             {
               xrand_screen = monitors;
               ++geo_monitors;
-- 
1.5.6.5