From 7222836ca4aa5be2344a84de4956734cb397f838 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 19 Dec 2008 07:34:33 +0000 Subject: [PATCH] * Fri Dec 19 2008 Peter Hutterer 1.5.99.3-1 - xserver 1.5.99.3 - drop patches merged into master - xserver-1.5.99.3-dmx-xcalloc.patch: avoid dmx Xcalloc build errors --- .cvsignore | 2 +- sources | 2 +- xorg-x11-server-1.1.0-no-move-damage.patch | 32 ++++++--- xorg-x11-server.spec | 42 ++++-------- xserver-1.5.0-bg-none-root.patch | 78 ++++++++++------------ xserver-1.5.99.3-dmx-xcalloc.patch | 73 ++++++++++++++++++++ 6 files changed, 144 insertions(+), 85 deletions(-) create mode 100644 xserver-1.5.99.3-dmx-xcalloc.patch diff --git a/.cvsignore b/.cvsignore index c5d0a1b..7fee574 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -xorg-server-1.5.3.tar.bz2 +xorg-server-1.5.99.3.tar.bz2 diff --git a/sources b/sources index 1210244..06805fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -308971036e25250e7fe3cccfd5a120f8 xorg-server-1.5.3.tar.bz2 +db87577456968e64c774124cc761cc7c xorg-server-1.5.99.3.tar.bz2 diff --git a/xorg-x11-server-1.1.0-no-move-damage.patch b/xorg-x11-server-1.1.0-no-move-damage.patch index 54b157b..5dc9464 100644 --- a/xorg-x11-server-1.1.0-no-move-damage.patch +++ b/xorg-x11-server-1.1.0-no-move-damage.patch @@ -1,38 +1,48 @@ +From c7e37fc93d9efa010f60be260f741539600db597 Mon Sep 17 00:00:00 2001 From: Adam Jackson -Date: Sun, 28 Oct 2007 09:37:52 +0100 +Date: Fri, 19 Dec 2008 13:42:52 +1000 Subject: [PATCH] Send less damage for manually redirected windows. Disable damage notifications on move for manually redirected windows. The automatic compositor needs damage notification on move, but a compositing manager doesn't. +Forward-ported to 1.6 by whot. --- ---- a/composite/compwindow.c.spiffiffity 2006-03-29 12:51:53.000000000 -0500 -+++ b/composite/compwindow.c 2006-04-13 23:18:42.000000000 -0400 -@@ -571,12 +571,15 @@ + composite/compwindow.c | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/composite/compwindow.c b/composite/compwindow.c +index 577fa73..f838a24 100644 +--- a/composite/compwindow.c ++++ b/composite/compwindow.c +@@ -580,12 +580,15 @@ compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) } else { -+ CompWindowPtr cw = GetCompWindow (pWin); ++ CompWindowPtr cw = GetCompWindow(pWin); + ptOldOrg.x -= dx; ptOldOrg.y -= dy; REGION_TRANSLATE (prgnSrc, prgnSrc, pWin->drawable.x - ptOldOrg.x, pWin->drawable.y - ptOldOrg.y); -- DamageDamageRegion (&pWin->drawable, prgnSrc); +- DamageRegionAppend(&pWin->drawable, prgnSrc); + if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, prgnSrc); ++ DamageRegionAppend(&pWin->drawable, prgnSrc); } cs->CopyWindow = pScreen->CopyWindow; pScreen->CopyWindow = compCopyWindow; -@@ -655,7 +658,8 @@ +@@ -664,7 +667,8 @@ compSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion) /* * Report that as damaged so it will be redrawn */ -- DamageDamageRegion (&pWin->drawable, &damage); -+ if (cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, &damage); +- DamageRegionAppend(&pWin->drawable, &damage); ++ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) ++ DamageRegionAppend(&pWin->drawable, &damage); REGION_UNINIT (pScreen, &damage); /* * Save the new border clip region +-- +1.6.0.4 + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 1ec4124..3f1b239 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -18,7 +18,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server -Version: 1.5.3 +Version: 1.5.99.3 Release: 1%{?dist} URL: http://www.x.org License: MIT @@ -46,15 +46,11 @@ Source20: http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.sh # OpenGL compositing manager feature/optimization patches. Patch100: xorg-x11-server-1.1.0-no-move-damage.patch Patch101: xserver-1.4.99-dont-backfill-bg-none.patch -Patch102: xserver-1.5.2-exa-master-upgrade.patch Patch103: xserver-1.5.0-bg-none-root.patch -Patch104: xserver-1.5.0-exa-master-fix-x11perf-crash.patch -Patch105: xserver-1.5.1-exa-fix-glyph-segfault.patch # Red Hat specific tweaking, not intended for upstream # XXX move these to the end of the list Patch1003: xserver-1.4.99-pic-libxf86config.patch -Patch1005: xserver-1.4.99-builtin-fonts.patch Patch2013: xserver-1.4.99-document-fontpath-correctly.patch Patch2014: xserver-1.5.0-projector-fb-size.patch @@ -64,7 +60,6 @@ Patch2014: xserver-1.5.0-projector-fb-size.patch Patch5001: xserver-1.4.99-alloca-poison.patch # This really could be done prettier. Patch5002: xserver-1.4.99-ssh-isnt-local.patch -Patch5003: xserver-1.5.1-xgi.patch Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch @@ -72,17 +67,12 @@ Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch Patch5011: xserver-1.4.99-endian.patch # evdev keyboard map fix -#Patch5013: xserver-1.5.0-xkb-fix-ProcXkbSetXYZ-to-work-on-all.patch -Patch5013: xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch # Patch5015: xserver-1.5.0-enable-selinux.patch -Patch6000: xserver-1.5.0-hide-cursor.patch -Patch6001: xserver-1.5.0-edid-backport.patch # force mode debugging on for randr 1.2 drivers Patch6002: xserver-1.5.1-mode-debug.patch -# Bug 434807 -Patch6003: xserver-1.5.2-more-sanity-checks.patch +Patch6004: xserver-1.5.99.3-dmx-xcalloc.patch %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri @@ -107,20 +97,14 @@ BuildRequires: git-core BuildRequires: automake autoconf libtool pkgconfig BuildRequires: xorg-x11-util-macros >= 1.1.5 -BuildRequires: xorg-x11-proto-devel >= 7.4-3 -BuildRequires: damageproto >= 1.1 -BuildRequires: dri2proto >= 1.99.1 -BuildRequires: fixesproto >= 4.0 -BuildRequires: glproto >= 1.4.9 -BuildRequires: kbproto >= 1.0.3 -BuildRequires: randrproto >= 1.2 -BuildRequires: renderproto >= 0.9.3 -BuildRequires: scrnsaverproto >= 1.1 +BuildRequires: xorg-x11-proto-devel >= 7.4-10 -BuildRequires: xorg-x11-xtrans-devel >= 1.0.3-3 +BuildRequires: xorg-x11-xtrans-devel >= 1.2.2-1 BuildRequires: libXfont-devel libXau-devel libxkbfile-devel libXres-devel BuildRequires: libfontenc-devel libXtst-devel libXdmcp-devel BuildRequires: libX11-devel libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: freetype freetype-devel # DMX config utils buildreqs. BuildRequires: libXt-devel libdmx-devel libXmu-devel libXrender-devel @@ -349,12 +333,11 @@ install -m 0755 %{SOURCE11} $RPM_BUILD_ROOT%{_bindir} # Make the source package %define xserver_source_dir %{_datadir}/xorg-x11-server-source %define inst_srcdir %{buildroot}/%{xserver_source_dir} -mkdir -p %{inst_srcdir}/{Xext,xkb,GL,hw/xfree86/{common,utils/xorgconfig}} +mkdir -p %{inst_srcdir}/{Xext,xkb,GL,hw/xfree86/common} cp cpprules.in %{inst_srcdir} cp xkb/README.compiled %{inst_srcdir}/xkb cp hw/xfree86/{xorgconf.cpp,Options} %{inst_srcdir}/hw/xfree86 cp hw/xfree86/common/{vesamodes,extramodes} %{inst_srcdir}/hw/xfree86/common -cp hw/xfree86/utils/xorgconfig/Cards{,98} %{inst_srcdir}/hw/xfree86/utils/xorgconfig/ install -m 0755 %{SOURCE20} $RPM_BUILD_ROOT%{_bindir}/xvfb-run @@ -363,9 +346,6 @@ xargs tar cf - | (cd %{inst_srcdir} && tar xf -) # Remove unwanted files/dirs { - rm -f $RPM_BUILD_ROOT%{_bindir}/xorgconfig - rm -f $RPM_BUILD_ROOT%{_mandir}/man1/xorgconfig.1* - rm -f $RPM_BUILD_ROOT%{_libdir}/X11/Cards rm -f $RPM_BUILD_ROOT%{_libdir}/X11/Options rm -f $RPM_BUILD_ROOT%{_bindir}/in? rm -f $RPM_BUILD_ROOT%{_bindir}/ioport @@ -428,8 +408,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xorg/modules/extensions/libdbe.so %{_libdir}/xorg/modules/extensions/libextmod.so %dir %{_libdir}/xorg/modules/input -%dir %{_libdir}/xorg/modules/fonts -%{_libdir}/xorg/modules/fonts/libfreetype.so %dir %{_libdir}/xorg/modules/linux %{_libdir}/xorg/modules/linux/libfbdevhw.so %dir %{_libdir}/xorg/modules/multimedia @@ -495,6 +473,7 @@ rm -rf $RPM_BUILD_ROOT %files Xephyr %defattr(-,root,root,-) %{_bindir}/Xephyr +%{_mandir}/man1/Xephyr.1* %if %{with_hw_servers} @@ -514,6 +493,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Dec 19 2008 Peter Hutterer 1.5.99.3-1 +- xserver 1.5.99.3 +- drop patches merged into master +- xserver-1.5.99.3-dmx-xcalloc.patch: avoid dmx Xcalloc build errors + * Wed Nov 05 2008 Adam Jackson 1.5.3-1 - xserver 1.5.3 diff --git a/xserver-1.5.0-bg-none-root.patch b/xserver-1.5.0-bg-none-root.patch index 1b27651..31e0d21 100644 --- a/xserver-1.5.0-bg-none-root.patch +++ b/xserver-1.5.0-bg-none-root.patch @@ -13,62 +13,57 @@ Subject: [PATCH] Add nr for background=none root 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/dix/globals.c b/dix/globals.c -index 7f95eab..db34786 100644 +index 973dc43..dbd76bb 100644 --- a/dix/globals.c +++ b/dix/globals.c -@@ -143,6 +143,7 @@ Bool loadableFonts = FALSE; +@@ -141,6 +141,7 @@ FontPtr defaultFont; /* not declared in dix.h to avoid including font.h in CursorPtr rootCursor; - Bool blackRoot=FALSE; - Bool whiteRoot=FALSE; -+Bool bgNoneRoot=FALSE; - #ifdef XPRINT - ClientPtr requestingClient; /* XXX this should be obsolete now, remove? */ - #endif + Bool party_like_its_1989 = FALSE; + Bool whiteRoot = FALSE; ++Bool bgNoneRoot = FALSE; + + int cursorScreenDevPriv[MAXSCREENS]; + diff --git a/dix/window.c b/dix/window.c -index 834c26b..6663a1e 100644 +index c31fa87..8bb178d 100644 --- a/dix/window.c +++ b/dix/window.c -@@ -471,23 +471,25 @@ InitRootWindow(WindowPtr pWin) +@@ -482,23 +482,24 @@ InitRootWindow(WindowPtr pWin) pWin->cursorIsNone = FALSE; pWin->optional->cursor = rootCursor; rootCursor->refcnt++; +- + pWin->backingStore = defaultBackingStore; + pWin->forcedBS = (defaultBackingStore != NotUseful); -- if (!blackRoot && !whiteRoot) { -- MakeRootTile(pWin); -- backFlag |= CWBackPixmap; -+ if (bgNoneRoot) { + if (party_like_its_1989) { + MakeRootTile(pWin); + backFlag |= CWBackPixmap; ++ pScreen->ChangeWindowAttributes(pWin, backFlag); ++ } else if (bgNoneRoot) { + /* nothing, handled in xf86CreateRootWindow */ - } -- else { -+ else if (blackRoot || whiteRoot) { - if (blackRoot) - pWin->background.pixel = pScreen->blackPixel; - else + } else { + if (whiteRoot) pWin->background.pixel = pScreen->whitePixel; + else + pWin->background.pixel = pScreen->blackPixel; backFlag |= CWBackPixel; - } -- + - pWin->backingStore = defaultBackingStore; - pWin->forcedBS = (defaultBackingStore != NotUseful); - /* We SHOULD check for an error value here XXX */ - (*pScreen->ChangeWindowAttributes)(pWin, backFlag); -+ pScreen->ChangeWindowAttributes(pWin, backFlag); -+ } -+ else { -+ MakeRootTile(pWin); -+ backFlag |= CWBackPixmap; -+ pScreen->ChangeWindowAttributes(pWin, backFlag); ++ pScreen->ChangeWindowAttributes(pWin, backFlag); + } MapWindow(pWin, serverClient); } diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index eb4ebfa..2c18da4 100644 +index 236c00b..083a6ac 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c -@@ -83,6 +83,7 @@ +@@ -79,6 +79,7 @@ #ifdef RENDER #include "picturestr.h" #endif @@ -76,7 +71,7 @@ index eb4ebfa..2c18da4 100644 #include "globals.h" -@@ -137,6 +138,7 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -328,6 +329,7 @@ xf86CreateRootWindow(WindowPtr pWin) int ret = TRUE; int err = Success; ScreenPtr pScreen = pWin->drawable.pScreen; @@ -84,7 +79,7 @@ index eb4ebfa..2c18da4 100644 RootWinPropPtr pProp; CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr) dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey); -@@ -190,6 +192,15 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -381,6 +383,15 @@ xf86CreateRootWindow(WindowPtr pWin) } } @@ -101,10 +96,10 @@ index eb4ebfa..2c18da4 100644 ErrorF("xf86CreateRootWindow() returns %d\n", ret); #endif diff --git a/hw/xfree86/common/xf86str.h b/hw/xfree86/common/xf86str.h -index fc94284..56c5507 100644 +index 904c369..8c38f69 100644 --- a/hw/xfree86/common/xf86str.h +++ b/hw/xfree86/common/xf86str.h -@@ -538,7 +538,7 @@ typedef struct _confdrirec { +@@ -531,7 +531,7 @@ typedef struct _confdrirec { } confDRIRec, *confDRIPtr; /* These values should be adjusted when new fields are added to ScrnInfoRec */ @@ -113,7 +108,7 @@ index fc94284..56c5507 100644 #define NUM_RESERVED_POINTERS 15 #define NUM_RESERVED_FUNCS 11 -@@ -977,6 +977,9 @@ typedef struct _ScrnInfoRec { +@@ -959,6 +959,9 @@ typedef struct _ScrnInfoRec { ClockRangesPtr clockRanges; int adjustFlags; @@ -124,22 +119,22 @@ index fc94284..56c5507 100644 * These can be used when the minor ABI version is incremented. * The NUM_* parameters must be reduced appropriately to keep the diff --git a/include/opaque.h b/include/opaque.h -index 3d19d27..cf5d135 100644 +index 07a0715..be1577b 100644 --- a/include/opaque.h +++ b/include/opaque.h -@@ -74,6 +74,7 @@ extern Bool defeatAccessControl; +@@ -71,6 +71,7 @@ extern Bool defeatAccessControl; extern long maxBigRequestSize; - extern Bool blackRoot; + extern Bool party_like_its_1989; extern Bool whiteRoot; +extern Bool bgNoneRoot; extern Bool CoreDump; diff --git a/os/utils.c b/os/utils.c -index f58c763..72a03c8 100644 +index b100949..c41b45b 100644 --- a/os/utils.c +++ b/os/utils.c -@@ -615,6 +615,7 @@ void UseMsg(void) +@@ -515,6 +515,7 @@ void UseMsg(void) #endif ErrorF("-nolisten string don't listen on protocol\n"); ErrorF("-noreset don't reset after last client exists\n"); @@ -147,7 +142,7 @@ index f58c763..72a03c8 100644 ErrorF("-reset reset after last client exists\n"); ErrorF("-p # screen-saver pattern duration (minutes)\n"); ErrorF("-pn accept failure to listen on all ports\n"); -@@ -986,6 +987,8 @@ ProcessCommandLine(int argc, char *argv[]) +@@ -859,6 +860,8 @@ ProcessCommandLine(int argc, char *argv[]) defaultBackingStore = WhenMapped; else if ( strcmp( argv[i], "-wr") == 0) whiteRoot = TRUE; @@ -156,6 +151,3 @@ index f58c763..72a03c8 100644 else if ( strcmp( argv[i], "-maxbigreqsize") == 0) { if(++i < argc) { long reqSizeArg = atol(argv[i]); --- -1.6.0.1 - diff --git a/xserver-1.5.99.3-dmx-xcalloc.patch b/xserver-1.5.99.3-dmx-xcalloc.patch new file mode 100644 index 0000000..a485fc1 --- /dev/null +++ b/xserver-1.5.99.3-dmx-xcalloc.patch @@ -0,0 +1,73 @@ +From 8ea9f03ea3c4d2f80f487c2474699beaf71e010c Mon Sep 17 00:00:00 2001 +From: Fedora X Ninjas +Date: Fri, 19 Dec 2008 14:36:31 +1000 +Subject: [PATCH] dmx: Death to xcalloc + +dmx' hilarious circular inclusion of server-side and client-side headers means +xcalloc resolves to Xcalloc. Stop this. We've grown up now and can use calloc +directly. +--- + hw/dmx/dmx.h | 4 ++-- + hw/dmx/dmxextension.c | 2 +- + hw/dmx/glxProxy/glxutil.c | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/hw/dmx/dmx.h b/hw/dmx/dmx.h +index 05e5fab..1a71417 100644 +--- a/hw/dmx/dmx.h ++++ b/hw/dmx/dmx.h +@@ -341,14 +341,14 @@ do { \ + #define _MAXSCREENSALLOCF(o,size,fatal) \ + do { \ + if (!o) { \ +- o = xcalloc((size), sizeof(*(o))); \ ++ o = calloc((size), sizeof(*(o))); \ + if (!o && fatal) FatalError(MAXSCREEN_FAILED_TXT #o); \ + } \ + } while (0) + #define _MAXSCREENSALLOCR(o,size,retval) \ + do { \ + if (!o) { \ +- o = xcalloc((size), sizeof(*(o))); \ ++ o = calloc((size), sizeof(*(o))); \ + if (!o) return retval; \ + } \ + } while (0) +diff --git a/hw/dmx/dmxextension.c b/hw/dmx/dmxextension.c +index d20c844..6fd02dc 100644 +--- a/hw/dmx/dmxextension.c ++++ b/hw/dmx/dmxextension.c +@@ -1121,7 +1121,7 @@ static void dmxBERestoreRenderGlyph(pointer value, XID id, pointer n) + } + + /* Now allocate the memory we need */ +- images = xcalloc(len_images, sizeof(char)); ++ images = calloc(len_images, sizeof(char)); + gids = xalloc(glyphSet->hash.tableEntries*sizeof(Glyph)); + glyphs = xalloc(glyphSet->hash.tableEntries*sizeof(XGlyphInfo)); + +diff --git a/hw/dmx/glxProxy/glxutil.c b/hw/dmx/glxProxy/glxutil.c +index 080992e..53b02a6 100644 +--- a/hw/dmx/glxProxy/glxutil.c ++++ b/hw/dmx/glxProxy/glxutil.c +@@ -69,7 +69,7 @@ __glXCalloc(size_t numElements, size_t elementSize) + if ((numElements == 0) || (elementSize == 0)) { + return NULL; + } +- addr = xcalloc(numElements, elementSize); ++ addr = calloc(numElements, elementSize); + if (addr == NULL) { + /* XXX: handle out of memory error */ + return NULL; +@@ -87,7 +87,7 @@ __glXRealloc(void *addr, size_t newSize) + xfree(addr); + return NULL; + } else { +- newAddr = xrealloc(addr, newSize); ++ newAddr = realloc(addr, newSize); + } + } else { + if (newSize == 0) { +-- +1.6.0.4 +