summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Spilsbury <smspillaz@gmail.com>2010-12-24 18:12:22 +0800
committerSam Spilsbury <smspillaz@gmail.com>2010-12-24 18:12:22 +0800
commit009e39f01a7b3344ae6bfaff5d587158627532f5 (patch)
treef4442663960f0c9d1ee634c6f643a8e2f1685d9c
parent07f258e4a9df005681158a006e9ea062e5bbab95 (diff)
downloadcompiz-with-glib-mainloop-009e39f01a7b3344ae6bfaff5d587158627532f5.tar.gz
compiz-with-glib-mainloop-009e39f01a7b3344ae6bfaff5d587158627532f5.tar.bz2
Don't clear terminate state until action is actually finished clearing up.
Clearing the terminate state before this will confuse other plugins which check activity states
-rw-r--r--plugins/scale/src/scale.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/plugins/scale/src/scale.cpp b/plugins/scale/src/scale.cpp
index 6939aa4..4caa69f 100644
--- a/plugins/scale/src/scale.cpp
+++ b/plugins/scale/src/scale.cpp
@@ -908,9 +908,6 @@ PrivateScaleScreen::scaleTerminate (CompAction *action,
Window xid;
- action->setState (action->state () & ~(CompAction::StateTermKey |
- CompAction::StateTermButton));
-
if (ss->priv->actionShouldToggle (action, state))
return false;
@@ -967,6 +964,9 @@ PrivateScaleScreen::scaleTerminate (CompAction *action,
ss->priv->cScreen->damageScreen ();
}
+ if (state & CompAction::StateInitKey)
+ action->setState (action->state () | CompAction::StateTermKey);
+
ss->priv->lastActiveNum = 0;
return false;