debian/changelog | 8 +++ debian/patches/233-xf86events-valgrind.patch | 19 ++++++++ debian/patches/235-composite-tracking.diff | 63 +++++++++++++++++++++++++++ debian/patches/series | 2 4 files changed, 92 insertions(+)
New commits: commit 61d850889bb4ffd97cf8d5b8b4c85897e1988a13 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Thu Oct 25 14:14:21 2012 +0200 enable backported fixes from quantal * add 233-xf86events-valgrind.patch to fix a xserver corruption when acpid is stopped before Xorg is. (LP: #1070481) * add 235-composite-tracking.diff to fix exa corruption. (LP: #1010794) diff --git a/debian/changelog b/debian/changelog index 4e066c9..90f290b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xorg-server (2:1.11.4-0ubuntu10.9) UNRELEASED; urgency=low + + * add 233-xf86events-valgrind.patch to fix a xserver corruption + when acpid is stopped before Xorg is. (LP: #1070481) + * add 235-composite-tracking.diff to fix exa corruption. (LP: #1010794) + + -- Maarten Lankhorst <maarten.lankho...@canonical.com> Thu, 25 Oct 2012 13:41:16 +0200 + xorg-server (2:1.11.4-0ubuntu10.8) precise-proposed; urgency=low * Add upstream patches to avoid seg fault in case the user is running with diff --git a/debian/patches/series b/debian/patches/series index 0279297..5681154 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -33,6 +33,8 @@ 228_log-format-fix.patch 229_randr_first_check_pScrPriv_before_using_the_pointer.patch 230_randr_catch_two_more_potential_unset_rrScrPriv_uses.patch +233-xf86events-valgrind.patch +235-composite-tracking.diff ## Input Stack Patches (from xserver 1.12) ## 500_pointer_barrier_thresholds.diff commit 94e1d6492a9d51c5246fb58a38b599d0fb0d272c Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Thu Oct 25 13:40:23 2012 +0200 rebase commits from ubuntu branch back to precise 233-xf86events-valgrind.patch 235-composite-tracking.diff diff --git a/debian/patches/233-xf86events-valgrind.patch b/debian/patches/233-xf86events-valgrind.patch new file mode 100644 index 0000000..f2fbcfb --- /dev/null +++ b/debian/patches/233-xf86events-valgrind.patch @@ -0,0 +1,19 @@ +diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c +index 41ffabd..6082bee 100644 +--- a/hw/xfree86/common/xf86Events.c ++++ b/hw/xfree86/common/xf86Events.c +@@ -270,10 +270,10 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask) + } + } + +- if (err >= 0) { /* we don't want the handlers called if select() */ +- IHPtr ih; /* returned with an error condition, do we? */ +- +- for (ih = InputHandlers; ih; ih = ih->next) { ++ if (err >= 0) { /* we don't want the handlers called if select() */ ++ IHPtr ih, ih_tmp; /* returned with an error condition, do we? */ ++ ++ nt_list_for_each_entry_safe(ih, ih_tmp, InputHandlers, next) { + if (ih->enabled && ih->fd >= 0 && ih->ihproc && + (FD_ISSET(ih->fd, ((fd_set *)pReadmask)) != 0)) { + ih->ihproc(ih->fd, ih->data); diff --git a/debian/patches/235-composite-tracking.diff b/debian/patches/235-composite-tracking.diff new file mode 100644 index 0000000..20d2ce2 --- /dev/null +++ b/debian/patches/235-composite-tracking.diff @@ -0,0 +1,63 @@ +diff --git a/exa/exa_priv.h b/exa/exa_priv.h +index 70de4bd..60aa328 100644 +--- a/exa/exa_priv.h ++++ b/exa/exa_priv.h +@@ -206,6 +206,7 @@ typedef struct { + RegionRec srcReg; + RegionRec maskReg; + PixmapPtr srcPix; ++ PixmapPtr maskPix; + + } ExaScreenPrivRec, *ExaScreenPrivPtr; + +diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c +index 219f903..7d83d15 100644 +--- a/exa/exa_unaccel.c ++++ b/exa/exa_unaccel.c +@@ -448,6 +448,13 @@ ExaSrcValidate(DrawablePtr pDrawable, + RegionPtr dst; + int xoff, yoff; + ++ if (pExaScr->srcPix == pPix) ++ dst = &pExaScr->srcReg; ++ else if (pExaScr->maskPix == pPix) ++ dst = &pExaScr->maskReg; ++ else ++ return; ++ + exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff); + + box.x1 = x + xoff; +@@ -455,9 +462,6 @@ ExaSrcValidate(DrawablePtr pDrawable, + box.x2 = box.x1 + width; + box.y2 = box.y1 + height; + +- dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : +- &pExaScr->maskReg; +- + RegionInit(®, &box, 1); + RegionUnion(dst, dst, ®); + RegionUninit(®); +@@ -506,17 +510,20 @@ ExaPrepareCompositeReg(ScreenPtr pScreen, + RegionTranslate(pSrc->pCompositeClip, + -pSrc->pDrawable->x, + -pSrc->pDrawable->y); +- } ++ } else ++ pExaScr->srcPix = NULL; + + if (pMask && pMask->pDrawable) { + pMaskPix = exaGetDrawablePixmap(pMask->pDrawable); + RegionNull(&pExaScr->maskReg); + maskReg = &pExaScr->maskReg; ++ pExaScr->maskPix = pMaskPix; + if (pMask != pDst && pMask != pSrc) + RegionTranslate(pMask->pCompositeClip, + -pMask->pDrawable->x, + -pMask->pDrawable->y); +- } ++ } else ++ pExaScr->maskPix = NULL; + + RegionTranslate(pDst->pCompositeClip, + -pDst->pDrawable->x, -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1trmsh-0007qq...@vasks.debian.org