xace: move the property deletion hook inside the DeleteProperty function.

This commit is contained in:
Eamon Walsh 2007-10-10 19:56:03 -04:00 committed by Eamon Walsh
parent 473bc6ec4c
commit 8f23d40068
3 changed files with 10 additions and 11 deletions

View File

@ -365,9 +365,10 @@ ChangeWindowProperty(WindowPtr pWin, Atom property, Atom type, int format,
} }
int int
DeleteProperty(WindowPtr pWin, Atom propName) DeleteProperty(ClientPtr client, WindowPtr pWin, Atom propName)
{ {
PropertyPtr pProp, prevProp; PropertyPtr pProp, prevProp;
int rc;
if (!(pProp = wUserProps (pWin))) if (!(pProp = wUserProps (pWin)))
return(Success); return(Success);
@ -381,6 +382,11 @@ DeleteProperty(WindowPtr pWin, Atom propName)
} }
if (pProp) if (pProp)
{ {
rc = XaceHook(XACE_PROPERTY_ACCESS, client, pWin, pProp,
DixDestroyAccess);
if (rc != Success)
return rc;
if (prevProp == (PropertyPtr)NULL) /* takes care of head */ if (prevProp == (PropertyPtr)NULL) /* takes care of head */
{ {
if (!(pWin->optional->userProps = pProp->next)) if (!(pWin->optional->userProps = pProp->next))
@ -636,14 +642,7 @@ ProcDeleteProperty(ClientPtr client)
return (BadAtom); return (BadAtom);
} }
result = XaceHook(XACE_PROPERTY_ACCESS, client, pWin, result = DeleteProperty(client, pWin, stuff->property);
FindProperty(pWin, stuff->property), DixDestroyAccess);
if (result != Success) {
client->errorValue = stuff->property;
return result;
}
result = DeleteProperty(pWin, stuff->property);
if (client->noClientException != Success) if (client->noClientException != Success)
return(client->noClientException); return(client->noClientException);
else else

View File

@ -337,7 +337,7 @@ xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects,
void void
xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin) xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin)
{ {
DeleteProperty(oldWin, xa_native_window_id()); DeleteProperty(serverClient, oldWin, xa_native_window_id());
xprSetNativeProperty(pFrame); xprSetNativeProperty(pFrame);
} }

View File

@ -971,7 +971,7 @@ winMWExtWMRootlessSwitchWindow (RootlessWindowPtr pFrame, WindowPtr oldWin)
SetWindowLongPtr (pRLWinPriv->hWnd, GWL_STYLE, SetWindowLongPtr (pRLWinPriv->hWnd, GWL_STYLE,
WS_POPUP | WS_CLIPCHILDREN); WS_POPUP | WS_CLIPCHILDREN);
DeleteProperty (oldWin, AtmWindowsWmNativeHwnd ()); DeleteProperty (serverClient, oldWin, AtmWindowsWmNativeHwnd ());
winMWExtWMSetNativeProperty (pFrame); winMWExtWMSetNativeProperty (pFrame);
#if CYGMULTIWINDOW_DEBUG #if CYGMULTIWINDOW_DEBUG
#if 0 #if 0