diff options
author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-04-21 20:03:08 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-04-21 20:09:30 -0700 |
commit | ba87c25321c3378fd1ad0c55dcb0af0a6e82a540 (patch) | |
tree | 70df5156fe1e6d3e309a2a42e3a9f81772307fe1 /miext | |
parent | 8822110d7d6b684f373fc883aeb7cab9734e9ddb (diff) |
Make rootless use dixLookupClient rather than deprecated LookupClient.
(cherry picked from commit 582b5b01f9697b66489ea906a2ecb8bfc5915571)
Diffstat (limited to 'miext')
-rw-r--r-- | miext/rootless/rootlessWindow.c | 56 |
1 files 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. */ |