summaryrefslogtreecommitdiff
path: root/put.c
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2008-02-10 12:26:36 +0100
committerDanny Baumann <dannybaumann@web.de>2008-02-10 12:26:36 +0100
commit95a45bd61d0e159c5e0b4339a29fd231fbfe0446 (patch)
treed206ca4c4a67ad358ff279dac4f434fdea663800 /put.c
parent3fd341db47310d3f03e9faa6da79025d41d8b38b (diff)
downloadput-95a45bd61d0e159c5e0b4339a29fd231fbfe0446.tar.gz
put-95a45bd61d0e159c5e0b4339a29fd231fbfe0446.tar.bz2
Prevent moved window losing focus if click-to-focus is disabled and the pointer leaves the window during animation.
Diffstat (limited to 'put.c')
-rw-r--r--put.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/put.c b/put.c
index b1addcb..cfde9b1 100644
--- a/put.c
+++ b/put.c
@@ -174,6 +174,8 @@ putPreparePaintScreen (CompScreen *s,
while (steps--)
{
+ Window endAnimationWindow = None;
+
ps->moreAdjust = 0;
for (w = s->windows; w; w = w->next)
{
@@ -194,6 +196,7 @@ putPreparePaintScreen (CompScreen *s,
pw->targetY - w->attrib.y, TRUE, TRUE);
syncWindowPosition (w);
updateWindowAttributes (w, CompStackingUpdateModeNone);
+ endAnimationWindow = w->id;
pw->tx = pw->ty = 0;
}
}
@@ -203,6 +206,8 @@ putPreparePaintScreen (CompScreen *s,
/* unfocus moved window if enabled */
if (putGetUnfocusWindow (s))
focusDefaultWindow (s);
+ else if (endAnimationWindow)
+ sendWindowActivationRequest (s, endAnimationWindow);
break;
}
}