Just to wrap things up: both of the screens have identical size/coords
(1280x1024+0+0) and both are discarded as enclosed and duplicated
respectively. One way to keep one would be to skip the
duplication/overlaping comparison if any of the two compared screens is
already marked, like this:

--- xscreensaver.c.orig 2008-04-07 19:50:10.000000000 +0200
+++ xscreensaver.c      2008-04-07 20:16:17.000000000 +0200
@@ -832,7 +832,8 @@
   for (i = 0; i < count; i++)
     for (j = 0; j < i; j++)
       {
-        if (xsi[i].screen_number < 0) continue; /* already marked */
+        if (xsi[i].screen_number < 0 || xsi[j].screen_number < 0)
+            continue; /* already marked */

         *err = 0;
         if (X1 == X2 && Y1 == Y2 && W1 == W2 && H1 == H2)


But I don't know really.... The nvidia driver sure sucks for reporting
two identical xinerama screens in this case.


Vincent Crevot a écrit :
> Ok I need some sleep/holidays/etc. When I tested the patch in #473681
> the other day my second screen was disabled. With two screens and that
> patch it still fails the exact same way: one screen is detected as
> enclosed, the other as duplicated.
> 
> Vincent Crevot a écrit :
>> On Thu, Apr 03, 2008 at 06:31:29PM -0700, Jamie Zawinski wrote:
>>> I think this is fixed by the patch in bug 473681?
>>>
>> Yes it actually fixes it, unlike my stupid workaround :)
> 
> 



Reply via email to