From 9800f271b249b7f8593f5019d5c2439578e527e1 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Nov 29 2007 09:17:03 +0000 Subject: * Thu Nov 29 2007 Dave Airlie 1.3.0.0-35 - xserver-1.3.0-ignore-extra-entity.patch - if a driver doesn't support secondary entities, don't fatal error just ignore and keep going - xserver-1.3.0-randr-fix-set-rotations-xinerama.patch - attempt to stop xinerama segfaulting randr12 --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 0ecd19e..2d4e538 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -9,7 +9,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.3.0.0 -Release: 34%{?dist} +Release: 35%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -61,6 +61,8 @@ Patch1015: xserver-1.3.0-randr-updates.patch Patch1022: xserver-1.3.0-default-dpi.patch Patch1023: xserver-1.3.0-randr-preferred-mode-fix.patch Patch1024: xserver-1.3.0-avoid-ps2-probe.patch +Patch1025: xserver-1.3.0-ignore-extra-entity.patch +Patch1026: xserver-1.3.0-randr-fix-set-rotations-xinerama.patch Patch2001: xserver-1.2.0-geode-mmx.patch Patch2002: xserver-1.2.0-xephyr-keysym-madness.patch @@ -79,6 +81,7 @@ Patch2017: xserver-1.3.0-update-quirks.patch Patch2018: xserver-1.3.0-late-sigusr1.patch Patch2019: xserver-1.3.0-yet-more-vt-ioctl-hate.patch + # assorted PCI layer shenanigans. oh the pain. Patch2500: xorg-x11-server-1.2.99-unbreak-domain.patch Patch2501: xserver-1.3.0-pci-bus-count.patch @@ -328,6 +331,8 @@ Xserver source code needed to build VNC server (Xvnc) %patch1022 -p1 -b .dpi %patch1023 -p1 -b .randr-preferred %patch1024 -p1 -b .ps2-probe +%patch1025 -p1 -b .ignore-entities +%patch1026 -p1 -b .fix-set-rotation-crash %patch2001 -p1 -b .geode-mmx %patch2002 -p1 -b .xephyr-keysym @@ -377,7 +382,7 @@ aclocal ; automake -a ; autoconf --with-int10=x86emu \ --with-default-font-path=%{default_font_path} \ --with-module-dir=%{moduledir} \ - --with-os-name="Fedora Core 7" \ + --with-os-name="Fedora 8" \ --with-os-vendor="Red Hat, Inc." \ --with-builderstring="Build ID: %{name} %{version}-%{release}" \ --with-xkb-output=%{_localstatedir}/lib/xkb \ @@ -620,6 +625,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Nov 29 2007 Dave Airlie 1.3.0.0-35 +- xserver-1.3.0-ignore-extra-entity.patch - if a driver doesn't support + secondary entities, don't fatal error just ignore and keep going +- xserver-1.3.0-randr-fix-set-rotations-xinerama.patch - attempt to stop xinerama segfaulting randr12 + * Thu Nov 01 2007 Adam Jackson 1.3.0.0-34 - xserver-1.3.0-yet-more-vt-ioctl-hate.patch: You don't even want to know. diff --git a/xserver-1.3.0-ignore-extra-entity.patch b/xserver-1.3.0-ignore-extra-entity.patch new file mode 100644 index 0000000..5c8714c --- /dev/null +++ b/xserver-1.3.0-ignore-extra-entity.patch @@ -0,0 +1,16 @@ +diff -up xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c.da xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c +--- xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c.da 2007-11-29 15:42:04.000000000 +1000 ++++ xorg-server-1.3.0.0/hw/xfree86/common/xf86Bus.c 2007-11-29 15:42:11.000000000 +1000 +@@ -341,8 +341,10 @@ xf86AddEntityToScreen(ScrnInfoPtr pScrn, + if (entityIndex == -1) + return; + if (xf86Entities[entityIndex]->inUse && +- !(xf86Entities[entityIndex]->entityProp & IS_SHARED_ACCEL)) +- FatalError("Requested Entity already in use!\n"); ++ !(xf86Entities[entityIndex]->entityProp & IS_SHARED_ACCEL)) { ++ ErrorF("Requested Entity already in use!\n"); ++ return; ++ } + + pScrn->numEntities++; + pScrn->entityList = xnfrealloc(pScrn->entityList, diff --git a/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch b/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch new file mode 100644 index 0000000..1572e0a --- /dev/null +++ b/xserver-1.3.0-randr-fix-set-rotations-xinerama.patch @@ -0,0 +1,97 @@ +diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c +index 61a7db3..bb7f945 100644 +--- a/hw/xfree86/modes/xf86RandR12.c ++++ b/hw/xfree86/modes/xf86RandR12.c +@@ -59,7 +59,7 @@ static Bool xf86RandR12Init12 (ScreenPtr pScreen); + static Bool xf86RandR12CreateScreenResources12 (ScreenPtr pScreen); + #endif + +-static int xf86RandR12Index; ++static int xf86RandR12Index = -1; + static int xf86RandR12Generation; + + #define XF86RANDRINFO(p) \ +@@ -340,10 +340,12 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen, + PixmapPtr pScrnPix = (*pScreen->GetScreenPixmap)(pScreen); + Bool ret = FALSE; + +- if (randrp->virtualX == -1 || randrp->virtualY == -1) +- { +- randrp->virtualX = pScrn->virtualX; +- randrp->virtualY = pScrn->virtualY; ++ if (xf86RandR12Index != -1) { ++ if (randrp->virtualX == -1 || randrp->virtualY == -1) ++ { ++ randrp->virtualX = pScrn->virtualX; ++ randrp->virtualY = pScrn->virtualY; ++ } + } + if (pRoot && pScrn->vtSema) + (*pScrn->EnableDisableFBAccess) (pScreen->myNum, FALSE); +@@ -366,7 +368,7 @@ finish: + if (pRoot && pScrn->vtSema) + (*pScrn->EnableDisableFBAccess) (pScreen->myNum, TRUE); + #if RANDR_12_INTERFACE +- if (WindowTable[pScreen->myNum] && ret) ++ if ((xf86RandR12Index != -1) && WindowTable[pScreen->myNum] && ret) + RRScreenSizeNotify (pScreen); + #endif + return ret; +@@ -466,6 +468,9 @@ xf86RandR12CreateScreenResources (ScreenPtr pScreen) + mmHeight); + } + ++ if (xf86RandR12Index == -1) ++ return TRUE; ++ + if (randrp->virtualX == -1 || randrp->virtualY == -1) + { + randrp->virtualX = pScrn->virtualX; +@@ -533,12 +538,18 @@ xf86RandR12Init (ScreenPtr pScreen) + _X_EXPORT void + xf86RandR12SetRotations (ScreenPtr pScreen, Rotation rotations) + { +- XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); ++ XF86RandRInfoPtr randrp; + #if RANDR_12_INTERFACE + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + int c; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); ++#endif + ++ if (xf86RandR12Index == -1) ++ return; ++ ++ randrp = XF86RANDRINFO(pScreen); ++#if RANDR_12_INTERFACE + for (c = 0; c < config->num_crtc; c++) { + xf86CrtcPtr crtc = config->crtc[c]; + +@@ -1065,9 +1076,11 @@ xf86RandR12CreateScreenResources12 (ScreenPtr pScreen) + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); + ++ if (xf86RandR12Index == -1) ++ return TRUE; ++ + for (c = 0; c < config->num_crtc; c++) +- xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc); +- ++ xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc); + + RRScreenSetSizeRange (pScreen, config->minWidth, config->minHeight, + config->maxWidth, config->maxHeight); +@@ -1084,11 +1097,11 @@ xf86RandR12TellChanged (ScreenPtr pScreen) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn); +- XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + int c; + +- if (!randrp) ++ if (xf86RandR12Index == -1) + return; ++ + xf86RandR12SetInfo12 (pScreen); + for (c = 0; c < config->num_crtc; c++) + xf86RandR12CrtcNotify (config->crtc[c]->randr_crtc);