From 6ed435e44765f83287dfe14129ba1d74bfcb9fde Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Mon, 28 Oct 2019 17:45:49 +0100 Subject: NXevents.c: use XYToWindow from dix add a callback to determine the starting window. --- nx-X11/programs/Xserver/dix/events.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'nx-X11/programs/Xserver/dix') diff --git a/nx-X11/programs/Xserver/dix/events.c b/nx-X11/programs/Xserver/dix/events.c index c99e55a87..b29688857 100644 --- a/nx-X11/programs/Xserver/dix/events.c +++ b/nx-X11/programs/Xserver/dix/events.c @@ -1914,7 +1914,17 @@ PointInBorderSize(WindowPtr pWin, int x, int y) return FALSE; } -#ifndef NXAGENT_SERVER +/* define XYWINDOWCALLBACK if your DDX provides this callback */ + +static WindowPtr GetXYStartWindow(WindowPtr pWin); + +#ifndef XYWINDOWCALLBACK +static WindowPtr GetXYStartWindow(WindowPtr pWin) +{ + return pWin; +} +#endif + static WindowPtr XYToWindow(int x, int y) { @@ -1922,7 +1932,7 @@ XYToWindow(int x, int y) BoxRec box; spriteTraceGood = 1; /* root window still there */ - pWin = ROOT->firstChild; + pWin = GetXYStartWindow(ROOT->firstChild); while (pWin) { if ((pWin->mapped) && @@ -1960,7 +1970,6 @@ XYToWindow(int x, int y) } return spriteTrace[spriteTraceGood-1]; } -#endif /* NXAGENT_SERVER */ #ifndef NXAGENT_SERVER static Bool -- cgit v1.2.3