summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2008-02-11 10:35:45 +0100
committerDanny Baumann <dannybaumann@web.de>2008-02-11 10:35:45 +0100
commit69322941e1b6c1a9603d6fd7c7227e23e28d9ab0 (patch)
treed4412274ccddf770f71c424c724541ce41f06cbf
parent33848bfc8cec9bfeecd7abe549c3e7301f97fea4 (diff)
downloadput-69322941e1b6c1a9603d6fd7c7227e23e28d9ab0.tar.gz
put-69322941e1b6c1a9603d6fd7c7227e23e28d9ab0.tar.bz2
Use internal animation geometry instead of server geometry for head determination while the animation is running.
-rw-r--r--put.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/put.c b/put.c
index e1c9f07..5b53eaf 100644
--- a/put.c
+++ b/put.c
@@ -370,7 +370,22 @@ putInitiateCommon (CompDisplay *d,
/* no head given, so use the current head if this wasn't
a double tap */
if (pd->lastType != type || pd->lastWindow != w->id)
- head = outputDeviceForWindow (w);
+ {
+ if (pw->adjust)
+ {
+ /* outputDeviceForWindow uses the server geometry,
+ so specialcase a running animation, which didn't
+ apply the server geometry yet */
+ head = outputDeviceForGeometry (s,
+ w->attrib.x + pw->tx,
+ w->attrib.y + pw->ty,
+ w->attrib.width,
+ w->attrib.height,
+ w->attrib.border_width);
+ }
+ else
+ head = outputDeviceForWindow (w);
+ }
}
else
{