diff options
Diffstat (limited to 'src/Xcomposite.c')
-rw-r--r-- | src/Xcomposite.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Xcomposite.c b/src/Xcomposite.c index d3bf92c..e82e1e3 100644 --- a/src/Xcomposite.c +++ b/src/Xcomposite.c @@ -485,3 +485,30 @@ XCompositeRedirectWindowInput (Display *dpy, UnlockDisplay (dpy); SyncHandle (); } + +Window +XCompositeGetDestinationWindow (Display *dpy, + Window window) +{ + XCompositeExtDisplayInfo *info = XCompositeFindDisplay (dpy); + xCompositeGetInputRedirectionInfoReq *req; + xCompositeGetInputRedirectionInfoReply rep; + + XCompositeCheckExtension (dpy, info, 0); + LockDisplay (dpy); + GetReq (CompositeGetInputRedirectionInfo, req); + req->reqType = info->codes->major_opcode; + req->compositeReqType = X_CompositeGetInputRedirectionInfo; + req->window = window; + if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) + { + UnlockDisplay (dpy); + SyncHandle (); + return 0; + } + + UnlockDisplay (dpy); + SyncHandle (); + + return rep.destination; +} |