Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=1f49af7c84ab61f3fa9763726072f7d1f3d72dda
commit 1f49af7c84ab61f3fa9763726072f7d1f3d72dda
Author: crazy <[EMAIL PROTECTED]>
Date: Sat Mar 1 18:16:30 2008 +0100
xorg-server-1.4.0.90-5-i686
* release bump
* backported all fixes from 1.4 branch
diff --git
a/source/x11/xorg-server/Fix-context-sharing-between-direct-indirect-contexts.patch
b/source/x11/xorg-server/Fix-context-sharing-between-direct-indirect-contexts.patch
new file mode 100644
index 0000000..bd81c13
--- /dev/null
+++
b/source/x11/xorg-server/Fix-context-sharing-between-direct-indirect-contexts.patch
@@ -0,0 +1,38 @@
+From a65d4aed06acd839fb21153f74144498abda3e18 Mon Sep 17 00:00:00 2001
+From: Alan Hourihane <[EMAIL PROTECTED]>
+Date: Wed, 27 Feb 2008 16:49:34 +0000
+Subject: [PATCH] Fix context sharing between direct/indirect contexts
+
+---
+ GL/glx/glxdri.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index 685683d..09abca3 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -598,6 +598,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
+ else
+ sharePrivate = NULL;
+
++ if (baseShareContext && baseShareContext->isDirect)
++ return NULL;
++
+ context = xalloc(sizeof *context);
+ if (context == NULL)
+ return NULL;
+@@ -617,6 +620,11 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
+ 0, /* render type */
+ sharePrivate,
+ &context->driContext);
++
++ if (!context->driContext.private) {
++ xfree(context);
++ return NULL;
++ }
+
+ context->driContext.mode = modes;
+
+--
+1.5.4.3
+
diff --git
a/source/x11/xorg-server/Fix-rotation-for-multi-monitor-situation.patch
b/source/x11/xorg-server/Fix-rotation-for-multi-monitor-situation.patch
new file mode 100644
index 0000000..2cce9a2
--- /dev/null
+++ b/source/x11/xorg-server/Fix-rotation-for-multi-monitor-situation.patch
@@ -0,0 +1,31 @@
+From dc30ade6496c7cc24e38c419e229159525fe042f Mon Sep 17 00:00:00 2001
+From: Maarten Maathuis <[EMAIL PROTECTED]>
+Date: Sun, 17 Feb 2008 18:47:28 +0100
+Subject: [PATCH] Fix rotation for multi-monitor situation.
+
+- The (x,y)-coordinates of the crtc were not being passed as xFixed values,
which made it an obscure bug to find.
+- Fix bug #13787.
+(cherry picked from commit a48cc88ea2674c28b69b8d738b168cbafcf4001f)
+---
+ hw/xfree86/modes/xf86Rotate.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
+index 380478f..dd0e659 100644
+--- a/hw/xfree86/modes/xf86Rotate.c
++++ b/hw/xfree86/modes/xf86Rotate.c
+@@ -579,9 +579,9 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode,
Rotation rotation)
+ }
+ else
+ {
+- PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, crtc->x, crtc->y);
++ PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, F(crtc->x),
F(crtc->y));
+ PictureTransformIsInverse ("offset", &crtc_to_fb, &fb_to_crtc);
+-
++
+ /*
+ * these are the size of the shadow pixmap, which
+ * matches the mode, not the pre-rotated copy in the
+--
+1.5.4.3
+
diff --git a/source/x11/xorg-server/FrugalBuild
b/source/x11/xorg-server/FrugalBuild
index 4363c74..f1c961d 100644
--- a/source/x11/xorg-server/FrugalBuild
+++ b/source/x11/xorg-server/FrugalBuild
@@ -3,7 +3,7 @@
pkgname=xorg-server
pkgver=1.4.0.90
-pkgrel=4
+pkgrel=5
mesaver=7.0.2
pkgdesc="Modular X.Org X Server"
groups=('x11' 'xorg-core')
@@ -52,7 +52,14 @@ source=([EMAIL PROTECTED] \
1.4-fix-dmx-build.patch \
1.4-fix-dmx-link.patch \
1.4-fix-kdrive-automake.patch \
- 1.4-fix-xephyr-link.patch)
+ 1.4-fix-xephyr-link.patch \
+ dix-set-the-correct-number-of-valuators-in-valuator.patch \
+ Fix-context-sharing-between-direct-indirect-contexts.patch \
+ Fix-rotation-for-multi-monitor-situation.patch \
+ Resize-composite-overlay-window-when-the-root-window.patch \
+ security-Fix-for-Bug-14480-untrusted-access-broke.patch \
+ xkb-don-t-update-LEDs-if-they-don-t-exist.patch)
+
sha1sums=('7c492ac32bd83b521f5c016e4728fccf9cba55db' \
'd16eaeb1d9d95d11d3b6d289b1ba87108b88da90' \
'af92fd389e72a3bb59d25dbf9cbb06e827b75d7d' \
@@ -80,7 +87,13 @@ sha1sums=('7c492ac32bd83b521f5c016e4728fccf9cba55db' \
'0b627c0d98e50f0d29dacc3fa7e8e9d8b1ad3faf' \
'41f686ef462e179f6c7e73a1babb7c0f2312d337' \
'f21a54aed8eae1e718f2f0c262c37c36ccccd152' \
- '352c55be4b91b29c84b192d806a90834d887fc22')
+ '352c55be4b91b29c84b192d806a90834d887fc22' \
+ '03056cde78a8a64b44c756014f31222cee5075e1' \
+ 'eadf66c1603dcc5a46dc14407cea0f1bc36b9594' \
+ '8d3e9e5daaf2eca41a1aba90509a1b27acb3533e' \
+ 'fcde0358b5b3c5489bcfe939fa742a1b122c3e96' \
+ 'e48a9793ca50616e4de3e8fd51443aa90abf6365' \
+ '0e677503b0dd377530ec799f2139f25b5fcd2de9')
subpkgs=('libglx' \
"$pkgname-dmx" "$pkgname-ati" "$pkgname-chips" "$pkgname-xephyr" \
@@ -175,6 +188,13 @@ build() {
Fpatch OS-IO-Zero-out-client-buffers.patch
Fpatch XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch
Fpatch Xephyr-One-time-keyboard-leak-fix.patch
+ Fpatch dix-set-the-correct-number-of-valuators-in-valuator.patch
+ Fpatch Fix-context-sharing-between-direct-indirect-contexts.patch
+ Fpatch Fix-rotation-for-multi-monitor-situation.patch
+ Fpatch Resize-composite-overlay-window-when-the-root-window.patch
+ Fpatch security-Fix-for-Bug-14480-untrusted-access-broke.patch
+ Fpatch xkb-don-t-update-LEDs-if-they-don-t-exist.patch
+
## GCC 4.2.0 bug do **NOT** remove this hack or it will kill your box!!
## http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30052
echo 'CFLAGS = @CFLAGS@ -O0' >> hw/xfree86/scanpci/Makefile.am
diff --git
a/source/x11/xorg-server/Resize-composite-overlay-window-when-the-root-window.patch
b/source/x11/xorg-server/Resize-composite-overlay-window-when-the-root-window.patch
new file mode 100644
index 0000000..22c8044
--- /dev/null
+++
b/source/x11/xorg-server/Resize-composite-overlay-window-when-the-root-window.patch
@@ -0,0 +1,62 @@
+From 3db5930c61aeb849de3b21e7ba0d86d3c0cf72bb Mon Sep 17 00:00:00 2001
+From: Maarten Maathuis <[EMAIL PROTECTED]>
+Date: Sun, 17 Feb 2008 11:21:01 +0100
+Subject: [PATCH] Resize composite overlay window when the root window changes.
+
+- This allows some compositing managers to work, even after randr12 has
changed the root window size.
+- Thanks to ajax for figuring out the best place to put this.
+- Example:
+ - xf86RandR12SetMode() calls EnableDisableFBAccess().
+ - That calls xf86SetRootClip() which in turn calls
ResizeChildrenWinSize().
+ - The final step is the call to PositionWindow().
+(cherry picked from commit 70c0592a97c7dc9db0576d32b3bdbe4766520509)
+---
+ composite/compwindow.c | 25 +++++++++++++++++++++++++
+ 1 files changed, 25 insertions(+), 0 deletions(-)
+
+diff --git a/composite/compwindow.c b/composite/compwindow.c
+index bfd2946..33192ad 100644
+--- a/composite/compwindow.c
++++ b/composite/compwindow.c
+@@ -165,6 +165,29 @@ compCheckRedirect (WindowPtr pWin)
+ return TRUE;
+ }
+
++static int
++updateOverlayWindow(ScreenPtr pScreen)
++{
++ CompScreenPtr cs;
++ WindowPtr pWin; /* overlay window */
++ XID vlist[2];
++
++ cs = GetCompScreen(pScreen);
++ if ((pWin = cs->pOverlayWin) != NULL) {
++ if ((pWin->drawable.width == pScreen->width) &&
++ (pWin->drawable.height == pScreen->height))
++ return Success;
++
++ /* Let's resize the overlay window. */
++ vlist[0] = pScreen->width;
++ vlist[1] = pScreen->height;
++ return ConfigureWindow(pWin, CWWidth | CWHeight, vlist,
wClient(pWin));
++ }
++
++ /* Let's be on the safe side and not assume an overlay window is always
allocated. */
++ return Success;
++}
++
+ Bool
+ compPositionWindow (WindowPtr pWin, int x, int y)
+ {
+@@ -203,6 +226,8 @@ compPositionWindow (WindowPtr pWin, int x, int y)
+ cs->PositionWindow = pScreen->PositionWindow;
+ pScreen->PositionWindow = compPositionWindow;
+ compCheckTree (pWin->drawable.pScreen);
++ if (updateOverlayWindow(pScreen) != Success)
++ ret = FALSE;
+ return ret;
+ }
+
+--
+1.5.4.3
+
diff --git
a/source/x11/xorg-server/dix-set-the-correct-number-of-valuators-in-valuator.patch
b/source/x11/xorg-server/dix-set-the-correct-number-of-valuators-in-valuator.patch
new file mode 100644
index 0000000..b2399cf
--- /dev/null
+++
b/source/x11/xorg-server/dix-set-the-correct-number-of-valuators-in-valuator.patch
@@ -0,0 +1,29 @@
+From e98027c3ac7195fec665ef393d980b02870ca1b8 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[EMAIL PROTECTED]>
+Date: Tue, 18 Dec 2007 13:57:07 +1030
+Subject: [PATCH] dix: set the correct number of valuators in valuator events.
+
+(first_valuator + num_valuators) must never be larger than the number of axes,
+otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
+wrong too.
+(cherry picked from commit 9f6ae61ad12cc2813d04405458e1ca5aed8a539e)
+---
+ dix/getevents.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/dix/getevents.c b/dix/getevents.c
+index 12d8189..b7ba69b 100644
+--- a/dix/getevents.c
++++ b/dix/getevents.c
+@@ -344,7 +344,7 @@ getValuatorEvents(xEvent *events, DeviceIntPtr pDev, int
first_valuator,
+ for (i = first_valuator; i < final_valuator; i += 6, xv++, events++) {
+ xv->type = DeviceValuator;
+ xv->first_valuator = i;
+- xv->num_valuators = num_valuators;
++ xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators -
i);
+ xv->deviceid = pDev->id;
+ switch (final_valuator - i) {
+ case 6:
+--
+1.5.4.3
+
diff --git
a/source/x11/xorg-server/security-Fix-for-Bug-14480-untrusted-access-broke.patch
b/source/x11/xorg-server/security-Fix-for-Bug-14480-untrusted-access-broke.patch
new file mode 100644
index 0000000..a7cc2bb
--- /dev/null
+++
b/source/x11/xorg-server/security-Fix-for-Bug-14480-untrusted-access-broke.patch
@@ -0,0 +1,25 @@
+From 74b40bba327a2e97780e8e3f995f784add2d6231 Mon Sep 17 00:00:00 2001
+From: Eamon Walsh <[EMAIL PROTECTED]>
+Date: Thu, 14 Feb 2008 19:47:44 -0500
+Subject: [PATCH] security: Fix for Bug #14480: untrusted access broken in 7.3.
+
+---
+ Xext/security.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Xext/security.c b/Xext/security.c
+index e9d48c9..14ad354 100644
+--- a/Xext/security.c
++++ b/Xext/security.c
+@@ -1014,7 +1014,7 @@ CALLBACK(SecurityCheckResourceIDAccess)
+ }
+ else /* server-owned resource - probably a default colormap or root
window */
+ {
+- if (RT_WINDOW == rtype || RC_DRAWABLE == rtype)
++ if (RC_DRAWABLE & rtype)
+ {
+ switch (reqtype)
+ { /* the following operations are allowed on root windows */
+--
+1.5.4.3
+
diff --git
a/source/x11/xorg-server/xkb-don-t-update-LEDs-if-they-don-t-exist.patch
b/source/x11/xorg-server/xkb-don-t-update-LEDs-if-they-don-t-exist.patch
new file mode 100644
index 0000000..fd75f7e
--- /dev/null
+++ b/source/x11/xorg-server/xkb-don-t-update-LEDs-if-they-don-t-exist.patch
@@ -0,0 +1,31 @@
+From bc72ef3a159efd67067322c043bba444869dc356 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[EMAIL PROTECTED]>
+Date: Wed, 30 Jan 2008 10:39:54 +1030
+Subject: [PATCH] xkb: don't update LEDs if they don't exist. (Bug #13961)
+
+In some weird cases we call this function when there is no SrvLedInfo on the
+device. And it turns out null-pointer dereferences are bad.
+
+X.Org Bug 13961 <http://bugs.freedesktop.org/show_bug.cgi?id=13961>
+(cherry picked from commit d954f9c80348de294602d931d387e5cd1ef4b9a5)
+---
+ xkb/xkbLEDs.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/xkb/xkbLEDs.c b/xkb/xkbLEDs.c
+index d607d90..d28973c 100644
+--- a/xkb/xkbLEDs.c
++++ b/xkb/xkbLEDs.c
+@@ -63,6 +63,9 @@ XkbSrvLedInfoPtr sli;
+
+ sli= XkbFindSrvLedInfo(dev,XkbDfltXIClass,XkbDfltXIId,0);
+
++ if (!sli)
++ return update;
++
+ if (state_changes&(XkbModifierStateMask|XkbGroupStateMask))
+ update|= sli->usesEffective;
+ if (state_changes&(XkbModifierBaseMask|XkbGroupBaseMask))
+--
+1.5.4.3
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git