xorg-x11-server/xorg-x11-server-0.99.3-init-origins-fix.patch
mharris 3a3aa5ed87 * Thu Nov 17 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-6
- Add the missing rpm pre script from monolithic xorg-x11 packaging,
  clean it up a bit, reorder it for slight performance gain.
- Add some perl magic to pre script to remove RgbPath from xorg.conf,
  in order to fix bug (#173036, 173435, 173453, 173428)
- Add more perl magic to pre script to update ModulePath to the new
  location if it is specified in xorg.conf.
- Added xorg-x11-server-0.99.3-init-origins-fix.patch ported from monolithic
  xorg-x11 package to fix Xinerama bug.
2005-11-17 15:51:06 +00:00

26 lines
889 B
Diff

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;