Hello community, here is the log from the commit of package xorg-x11-server checked in at Thu Aug 17 23:05:23 CEST 2006. -------- --- xorg-x11-server/xorg-x11-server.changes 2006-08-15 16:20:32.000000000 +0200 +++ xorg-x11-server/xorg-x11-server.changes 2006-08-17 22:03:11.000000000 +0200 @@ -1,0 +2,6 @@ +Thu Aug 17 22:02:10 CEST 2006 - sndirsch@suse.de + +- xinerama-sig11.diff: + * prevents Xserver Sig11 with broken Xinerama config (Bug #135002) + +------------------------------------------------------------------- New: ---- xinerama-sig11.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.XhDvQp/_old 2006-08-17 23:05:13.000000000 +0200 +++ /var/tmp/diff_new_pack.XhDvQp/_new 2006-08-17 23:05:13.000000000 +0200 @@ -17,7 +17,7 @@ URL: http://xorg.freedesktop.org/ %define EXPERIMENTAL 0 Version: 7.1 -Release: 18 +Release: 19 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -49,6 +49,7 @@ Patch17: p_initialize-pci-tag.diff Patch18: p_ia64-console.diff Patch19: disable-aiglx.diff +Patch20: xinerama-sig11.diff %description @@ -193,6 +194,7 @@ %patch18 popd %patch19 +%patch20 -p1 %build autoreconf -fi @@ -425,6 +427,9 @@ /usr/share/aclocal/*.m4 %changelog -n xorg-x11-server +* Thu Aug 17 2006 - sndirsch@suse.de +- xinerama-sig11.diff: + * prevents Xserver Sig11 with broken Xinerama config (Bug #135002) * Tue Aug 15 2006 - sndirsch@suse.de - moved /usr/%%_lib/pkgconfig/xorg-server.pc to xorg-x11-server - added pkgconfig to Requires of xorg-x11-server ++++++ xinerama-sig11.diff ++++++ diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c index 14e0fcd..61f0ce5 100644 --- a/hw/xfree86/common/xf86Cursor.c +++ b/hw/xfree86/common/xf86Cursor.c @@ -576,24 +576,40 @@ xf86InitOrigins(void) /* force edge lists */ if(screen->left) { ref = screen->left->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } pLayout->left = AddEdge(pLayout->left, 0, xf86Screens[i]->pScreen->height, xf86Screens[ref]->pScreen->width, 0, ref); } if(screen->right) { ref = screen->right->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } pScreen = xf86Screens[i]->pScreen; pLayout->right = AddEdge(pLayout->right, 0, pScreen->height, -pScreen->width, 0, ref); } if(screen->top) { ref = screen->top->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } pLayout->up = AddEdge(pLayout->up, 0, xf86Screens[i]->pScreen->width, 0, xf86Screens[ref]->pScreen->height, ref); } if(screen->bottom) { ref = screen->bottom->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } pScreen = xf86Screens[i]->pScreen; pLayout->down = AddEdge(pLayout->down, 0, pScreen->width, 0, -pScreen->height, ref); @@ -609,6 +625,10 @@ xf86InitOrigins(void) break; case PosRelative: ref = screen->refscreen->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } if(screensLeft & (1 << ref)) break; dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->x; dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->y; @@ -616,6 +636,10 @@ xf86InitOrigins(void) break; case PosRightOf: ref = screen->refscreen->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } if(screensLeft & (1 << ref)) break; pScreen = xf86Screens[ref]->pScreen; dixScreenOrigins[i].x = @@ -625,6 +649,10 @@ xf86InitOrigins(void) break; case PosLeftOf: ref = screen->refscreen->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } if(screensLeft & (1 << ref)) break; pScreen = xf86Screens[i]->pScreen; dixScreenOrigins[i].x = @@ -634,6 +662,10 @@ xf86InitOrigins(void) break; case PosBelow: ref = screen->refscreen->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } if(screensLeft & (1 << ref)) break; pScreen = xf86Screens[ref]->pScreen; dixScreenOrigins[i].x = dixScreenOrigins[ref].x; @@ -643,6 +675,10 @@ xf86InitOrigins(void) break; case PosAbove: ref = screen->refscreen->screennum; + if (! xf86Screens[ref] || ! xf86Screens[ref]->pScreen) { + ErrorF("Referenced uninitialized screen in Layout!\n"); + break; + } if(screensLeft & (1 << ref)) break; pScreen = xf86Screens[i]->pScreen; dixScreenOrigins[i].x = dixScreenOrigins[ref].x; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org