[compiz] [PATCH] Fix timing of scale activate event ending

Erkin Bahceci erkinbah at gmail.com
Wed Jul 11 01:31:34 PDT 2007


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
-------------- next part --------------
From 83e1c8b937cd91a315d332131492976905b3ca7c Mon Sep 17 00:00:00 2001
From: Erkin Bahceci <erkinbah at gmail.com>
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


More information about the compiz mailing list