From ba87c25321c3378fd1ad0c55dcb0af0a6e82a540 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Mon, 21 Apr 2008 20:03:08 -0700 Subject: [PATCH] Make rootless use dixLookupClient rather than deprecated LookupClient. (cherry picked from commit 582b5b01f9697b66489ea906a2ecb8bfc5915571) --- miext/rootless/rootlessWindow.c | 56 ++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c index fa395a800..df1d3a879 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. */