diff options
Diffstat (limited to 'dix')
-rw-r--r-- | dix/events.c | 7 | ||||
-rw-r--r-- | dix/window.c | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/dix/events.c b/dix/events.c index 4a8e480c8..aef333ede 100644 --- a/dix/events.c +++ b/dix/events.c @@ -2171,6 +2171,13 @@ XYToWindow(int x, int y) x - pWin->drawable.x, y - pWin->drawable.y, &box)) #endif +#ifdef ROOTLESS + /* In rootless mode windows may be offscreen, even when + * they're in X's stack. (E.g. if the native window system + * implements some form of virtual desktop system). + */ + && !pWin->rootlessUnhittable +#endif ) { if (spriteTraceGood >= spriteTraceSize) diff --git a/dix/window.c b/dix/window.c index 9975b5eec..499f58e7a 100644 --- a/dix/window.c +++ b/dix/window.c @@ -292,6 +292,9 @@ SetWindowToDefaults(WindowPtr pWin) pWin->forcedBS = FALSE; pWin->redirectDraw = RedirectDrawNone; pWin->forcedBG = FALSE; +#ifdef ROOTLESS + pWin->rootlessUnhittable = FALSE; +#endif } static void |