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 :) > >