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