xorg-x11-server/xorg-x11-server-0.99.3-init-origins-fix.patch

26 lines
889 B
Diff
Raw Normal View History

Patch by krh@redhat.com:
In a multihead setup, if only the first screen can be
initialized, but the second screen is mentioned first in the
ServerLayout section, the xf86InitOrigins() function will crash
because the screen referred to in the e.g. "RightOf" part is
non-existent.
--- hw/xfree86/common/xf86Cursor.c.init-origins-fix 2004-10-18 22:22:42.675899006 -0400
+++ hw/xfree86/common/xf86Cursor.c 2004-10-18 22:21:42.540867549 -0400
@@ -566,6 +566,14 @@
screen = &xf86ConfigLayout.screens[i];
+ if (screen->refscreen != NULL &&
+ screen->refscreen->screennum >= xf86NumScreens) {
+ screensLeft &= ~(1 << i);
+ xf86Msg(X_WARNING, "Not including screen \"%s\" in origins calculation.\n",
+ screen->screen->id);
+ continue;
+ }
+
switch(screen->where) {
case PosObsolete:
OldStyleConfig = TRUE;