summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
Diffstat (limited to 'dix')
-rw-r--r--dix/events.c7
-rw-r--r--dix/window.c3
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