Hi,

This small patch fixes the place where the "activate" event is sent in
Scale to notify others about when its state goes back to normal.
Previously it happened when its (going back to normal) animation
starts, where it should have been when the animation ends. Without
this fix, this activate event isn't of much use, i.e. it doesn't help
to solve conflicts with other plugins, which was the whole point of
this event.

Regards,
Erkin
From 83e1c8b937cd91a315d332131492976905b3ca7c Mon Sep 17 00:00:00 2001
From: Erkin Bahceci <[EMAIL PROTECTED]>
Date: Wed, 11 Jul 2007 04:22:42 -0400
Subject: [PATCH] Fix timing of scale activate event ending.

---
 plugins/scale.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/plugins/scale.c b/plugins/scale.c
index cd8933f..b2c6462 100644
--- a/plugins/scale.c
+++ b/plugins/scale.c
@@ -928,7 +928,13 @@ scaleDonePaintScreen (CompScreen *s)
        else
        {
            if (ss->state == SCALE_STATE_IN)
+           {
+               /* The FALSE activate event is sent when scale state
+                  goes back to normal, to avoid animation conflicts
+                  with other plugins. */
+               scaleActivateEvent (s, FALSE);
                ss->state = SCALE_STATE_NONE;
+           }
            else if (ss->state == SCALE_STATE_OUT)
                ss->state = SCALE_STATE_WAIT;
        }
@@ -1051,8 +1057,6 @@ scaleTerminate (CompDisplay     *d,
                ss->grabIndex = 0;
            }
 
-           scaleActivateEvent (s, FALSE);
-
            if (ss->dndTarget)
                XUnmapWindow (d->display, ss->dndTarget);
 
-- 
1.4.4.2

_______________________________________________
compiz mailing list
compiz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to