|
|
70130e |
From cb020861deb8bfa91579de72f3860c445ed752d3 Mon Sep 17 00:00:00 2001
|
|
|
70130e |
From: Adam Jackson <ajax@redhat.com>
|
|
|
70130e |
Date: Thu, 7 Nov 2013 13:59:30 -0500
|
|
|
70130e |
Subject: [PATCH 4/6] composite: Fix COW creation for Xinerama
|
|
|
70130e |
|
|
|
70130e |
Say you have two 800x600 screens left/right of each other. A window
|
|
|
70130e |
that's 200x200 at +700+0 in protocol coordinate space will appear to be
|
|
|
70130e |
at -100+0 in the coordinate space of the right hand screen. Put another
|
|
|
70130e |
way: windows are in the coordinate space of their root window pixmap.
|
|
|
70130e |
|
|
|
70130e |
We weren't doing this translation for the COW, so when rendering came in
|
|
|
70130e |
to it you'd see the top-left chunk of the COW on all screens. Cool
|
|
|
70130e |
effect and all, but wrong.
|
|
|
70130e |
|
|
|
70130e |
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
|
70130e |
---
|
|
|
70130e |
composite/compoverlay.c | 2 +-
|
|
|
70130e |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
70130e |
|
|
|
70130e |
diff --git a/composite/compoverlay.c b/composite/compoverlay.c
|
|
|
70130e |
index d3cfaf0..575be42 100644
|
|
|
70130e |
--- a/composite/compoverlay.c
|
|
|
70130e |
+++ b/composite/compoverlay.c
|
|
|
70130e |
@@ -142,7 +142,7 @@ compCreateOverlayWindow(ScreenPtr pScreen)
|
|
|
70130e |
#endif
|
|
|
70130e |
|
|
|
70130e |
pWin = cs->pOverlayWin =
|
|
|
70130e |
- CreateWindow(cs->overlayWid, pRoot, 0, 0, w, h, 0,
|
|
|
70130e |
+ CreateWindow(cs->overlayWid, pRoot, -pScreen->x, -pScreen->y, w, h, 0,
|
|
|
70130e |
InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0],
|
|
|
70130e |
pRoot->drawable.depth,
|
|
|
70130e |
serverClient, pScreen->rootVisual, &result);
|
|
|
70130e |
--
|
|
|
70130e |
1.8.3.1
|
|
|
70130e |
|