Peter Hutterer <[email protected]> writes:

> If a screen size was specified as WxH, the loop returned early and kdOrigin
> was never advanced. Thus, screen->origin was always 0 (or whatever was given
> at the -origin commandline flag).
>
> If a screen size was given with a bit depth (WxH@D), kdOrigin would always
> advance by the current screen, offsetting the next screen.

I think the problem here was just the early loop termination clause
which wasn't accepting WxH as a valid geometry spec. I think this is
what we want instead:

diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c
index f8949be..3829684 100644
--- a/hw/kdrive/src/kdrive.c
+++ b/hw/kdrive/src/kdrive.c
@@ -328,7 +328,8 @@ KdParseScreen(KdScreenInfo * screen, const char *arg)
             screen->height = pixels;
             screen->height_mm = mm;
         }
-        if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y')
+        if (delim != 'x' && delim != '@' && delim != 'X' && delim != 'Y' &&
+            (delim != '\0' || i == 0))
             return;
     }
 

-- 
[email protected]

Attachment: pgpoDnRVy0Zzz.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to