[79064] trunk/dports/x11/xorg-server-devel/files
jeremyhu at macports.org
jeremyhu at macports.org
Tue May 31 14:17:08 PDT 2011
Revision: 79064
http://trac.macports.org/changeset/79064
Author: jeremyhu at macports.org
Date: 2011-05-31 14:17:08 -0700 (Tue, 31 May 2011)
Log Message:
-----------
Add missing patches #29662
Added Paths:
-----------
trunk/dports/x11/xorg-server-devel/files/0001-Send-events-that-were-missing-from-RRSelectInput.patch
trunk/dports/x11/xorg-server-devel/files/0002-randr-check-rotated-virtual-size-limits-correctly.patch
Added: trunk/dports/x11/xorg-server-devel/files/0001-Send-events-that-were-missing-from-RRSelectInput.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0001-Send-events-that-were-missing-from-RRSelectInput.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0001-Send-events-that-were-missing-from-RRSelectInput.patch 2011-05-31 21:17:08 UTC (rev 79064)
@@ -0,0 +1,72 @@
+From 613e0e9ef74c4542ed458200165adbcdfdf3cd17 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Wed, 13 Apr 2011 11:51:30 -0700
+Subject: [PATCH 1/2] Send events that were missing from RRSelectInput
+
+The RANDR spec (randrproto.txt) specifies that RRSelectInput will send out
+events corresponding to the event mask, if there have been changes to
+CRTCs or outputs. Only screen events were being generated, however.
+
+Fixes http://bugs.freedesktop.org/21760
+
+Signed-off-by: Federico Mena Quintero <federico at novell.com>
+Reviewd-by: Keith Packard <keithp at keithp.com>
+Signed-off-by: Keith Packard <keithp at keithp.com>
+(cherry picked from commit b2997431fd426ab318bc5dfd2cd43956d733ebec)
+---
+ randr/rrdispatch.c | 32 ++++++++++++++++++++++++++++++--
+ 1 files changed, 30 insertions(+), 2 deletions(-)
+
+diff --git xorg-server-1.10.2/randr/rrdispatch.c xorg-server-1.10.2/randr/rrdispatch.c
+index ac4d2ac..2135504 100644
+--- xorg-server-1.10.2/randr/rrdispatch.c
++++ xorg-server-1.10.2/randr/rrdispatch.c
+@@ -146,7 +146,7 @@ ProcRRSelectInput (ClientPtr client)
+ /*
+ * Now see if the client needs an event
+ */
+- if (pScrPriv && (pRREvent->mask & RRScreenChangeNotifyMask))
++ if (pScrPriv)
+ {
+ pTimes = &((RRTimesPtr) (pRRClient + 1))[pScreen->myNum];
+ if (CompareTimeStamps (pTimes->setTime,
+@@ -154,7 +154,35 @@ ProcRRSelectInput (ClientPtr client)
+ CompareTimeStamps (pTimes->configTime,
+ pScrPriv->lastConfigTime) != 0)
+ {
+- RRDeliverScreenEvent (client, pWin, pScreen);
++ if (pRREvent->mask & RRScreenChangeNotifyMask)
++ {
++ RRDeliverScreenEvent (client, pWin, pScreen);
++ }
++
++ if (pRREvent->mask & RRCrtcChangeNotifyMask)
++ {
++ int i;
++
++ for (i = 0; i < pScrPriv->numCrtcs; i++)
++ {
++ RRDeliverCrtcEvent (client, pWin, pScrPriv->crtcs[i]);
++ }
++ }
++
++ if (pRREvent->mask & RROutputChangeNotifyMask)
++ {
++ int i;
++
++ for (i = 0; i < pScrPriv->numOutputs; i++)
++ {
++ RRDeliverOutputEvent (client, pWin, pScrPriv->outputs[i]);
++ }
++ }
++
++ /* We don't check for RROutputPropertyNotifyMask, as randrproto.txt doesn't
++ * say if there ought to be notifications of changes to output properties
++ * if those changes occurred before the time RRSelectInput is called.
++ */
+ }
+ }
+ }
+--
+1.7.4.1
+
Added: trunk/dports/x11/xorg-server-devel/files/0002-randr-check-rotated-virtual-size-limits-correctly.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/0002-randr-check-rotated-virtual-size-limits-correctly.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/0002-randr-check-rotated-virtual-size-limits-correctly.patch 2011-05-31 21:17:08 UTC (rev 79064)
@@ -0,0 +1,65 @@
+From 50b9d3142ff90af2f7fa35b7b1bf9e5a07723dbd Mon Sep 17 00:00:00 2001
+From: Aaron Plattner <aplattner at nvidia.com>
+Date: Tue, 24 May 2011 16:02:42 -0700
+Subject: [PATCH 2/2] randr: check rotated virtual size limits correctly
+
+Commit d1107918d4626268803b54033a07405122278e7f introduced checks to
+the RandR path that cause RRSetScreenConfig requests to fail if the
+size is too large. Unfortunately, when RandR 1.1 rotation is enabled
+it compares the rotated screen dimensions to the unrotated limits,
+which causes 90- and 270-degree rotation to fail unless your screen
+happens to be square:
+
+ X Error of failed request: BadValue (integer parameter out of range for operation)
+ Major opcode of failed request: 153 (RANDR)
+ Minor opcode of failed request: 2 (RRSetScreenConfig)
+ Value in failed request: 0x780
+ Serial number of failed request: 14
+ Current serial number in output stream: 14
+
+Fix this by moving the check above the code that swaps the dimensions
+based on the rotation.
+
+Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
+Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
+Tested-by: Robert Hooker <robert.hooker at canonical.com>
+Tested-by: Kent Baxley <kent.baxley at canonical.com>
+Signed-off-by: Keith Packard <keithp at keithp.com>
+(cherry picked from commit b6c7b9b2f39e970cedb6bc1e073f901e28cb0fa3)
+---
+ randr/rrscreen.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git xorg-server-1.10.2/randr/rrscreen.c xorg-server-1.10.2/randr/rrscreen.c
+index 1bc1a9e..da6d48d 100644
+--- xorg-server-1.10.2/randr/rrscreen.c
++++ xorg-server-1.10.2/randr/rrscreen.c
+@@ -910,12 +910,6 @@ ProcRRSetScreenConfig (ClientPtr client)
+ */
+ width = mode->mode.width;
+ height = mode->mode.height;
+- if (rotation & (RR_Rotate_90|RR_Rotate_270))
+- {
+- width = mode->mode.height;
+- height = mode->mode.width;
+- }
+-
+ if (width < pScrPriv->minWidth || pScrPriv->maxWidth < width) {
+ client->errorValue = width;
+ free(pData);
+@@ -927,6 +921,12 @@ ProcRRSetScreenConfig (ClientPtr client)
+ return BadValue;
+ }
+
++ if (rotation & (RR_Rotate_90|RR_Rotate_270))
++ {
++ width = mode->mode.height;
++ height = mode->mode.width;
++ }
++
+ if (width != pScreen->width || height != pScreen->height)
+ {
+ int c;
+--
+1.7.4.1
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110531/0abcc194/attachment.html>
More information about the macports-changes
mailing list