xserver: Branch 'xorg-server-1.4-apple' - 3 commits
Jeremy Huddleston
jeremyhu at kemper.freedesktop.org
Mon Apr 21 20:04:35 PDT 2008
configure.ac | 2 -
dix/dixutils.c | 4 ++
miext/rootless/rootlessWindow.c | 56 ++++++++++++++++++++++------------------
3 files changed, 35 insertions(+), 27 deletions(-)
New commits:
commit 22d15afc512d1fd381418025a0c39c90ba930a84
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date: Mon Apr 21 19:59:26 2008 -0700
1.4.0-apple3
diff --git a/configure.ac b/configure.ac
index b4b297f..26f9efe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ(2.57)
-AC_INIT([xorg-server], 1.4.0-apple2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+AC_INIT([xorg-server], 1.4.0-apple3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
AM_MAINTAINER_MODE
commit 582b5b01f9697b66489ea906a2ecb8bfc5915571
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date: Mon Apr 21 20:03:08 2008 -0700
Make rootless use dixLookupClient rather than deprecated LookupClient.
diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c
index 281bd63..d4ad241 100644
--- a/miext/rootless/rootlessWindow.c
+++ b/miext/rootless/rootlessWindow.c
@@ -131,32 +131,38 @@ RootlessNativeWindowStateChanged (WindowPtr pWin, unsigned int state)
pWin->rootlessUnhittable = winRec->is_offscreen;
}
-void
-RootlessNativeWindowMoved (WindowPtr pWin)
-{
- xp_box bounds;
- int sx, sy;
- XID vlist[2];
- Mask mask;
- RootlessWindowRec *winRec = WINREC(pWin);
-
- if (xp_get_window_bounds ((xp_window_id)winRec->wid, &bounds) != Success) return;
-
- sx = dixScreenOrigins[pWin->drawable.pScreen->myNum].x + darwinMainScreenX;
- sy = dixScreenOrigins[pWin->drawable.pScreen->myNum].y + darwinMainScreenY;
-
- /* Fake up a ConfigureWindow packet to resize the window to the current bounds. */
-
- vlist[0] = (INT16) bounds.x1 - sx;
- vlist[1] = (INT16) bounds.y1 - sy;
- mask = CWX | CWY;
-
- /* Don't want to do anything to the physical window (avoids
+void RootlessNativeWindowMoved (WindowPtr pWin) {
+ xp_box bounds;
+ int sx, sy, err;
+ XID vlist[2];
+ Mask mask;
+ ClientPtr client, pClient;
+ RootlessWindowRec *winRec = WINREC(pWin);
+
+ if (xp_get_window_bounds ((xp_window_id)winRec->wid, &bounds) != Success) return;
+
+ sx = dixScreenOrigins[pWin->drawable.pScreen->myNum].x + darwinMainScreenX;
+ sy = dixScreenOrigins[pWin->drawable.pScreen->myNum].y + darwinMainScreenY;
+
+ /* Fake up a ConfigureWindow packet to resize the window to the current bounds. */
+
+ vlist[0] = (INT16) bounds.x1 - sx;
+ vlist[1] = (INT16) bounds.y1 - sy;
+ mask = CWX | CWY;
+
+ /* pretend we're the owner of the window! */
+ err = dixLookupClient(&pClient, pWin->drawable.id, NullClient, DixUnknownAccess);
+ if(err != Success) {
+ ErrorF("RootlessNativeWindowMoved(): Failed to lookup window: 0x%x\n", pWin->drawable.id);
+ return;
+ }
+
+ /* Don't want to do anything to the physical window (avoids
notification-response feedback loops) */
-
- no_configure_window = TRUE;
- ConfigureWindow (pWin, mask, vlist, serverClient);
- no_configure_window = FALSE;
+
+ no_configure_window = TRUE;
+ ConfigureWindow (pWin, mask, vlist, client);
+ no_configure_window = FALSE;
}
/* Updates the _NATIVE_SCREEN_ORIGIN property on the given root window. */
commit e41ccc64702f856e5e09dfa652fe73c14b8a0225
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date: Mon Apr 21 19:48:13 2008 -0700
Fixed dixLookupClient to work with client=NullClient as it did in the 1.3 branch
diff --git a/dix/dixutils.c b/dix/dixutils.c
index c1e30ff..87c5275 100644
--- a/dix/dixutils.c
+++ b/dix/dixutils.c
@@ -267,7 +267,9 @@ dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client, Mask access)
pointer pRes = (pointer)SecurityLookupIDByClass(client, rid, RC_ANY,
access);
int clientIndex = CLIENT_ID(rid);
- client->errorValue = rid;
+
+ if(client)
+ client->errorValue = rid;
if (clientIndex && pRes && clients[clientIndex] && !(rid & SERVER_BIT)) {
*pClient = clients[clientIndex];
More information about the xorg-commit
mailing list