summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimmo Hämäläinen <kimmo.hamalainen@nokia.com>2010-11-18 17:41:06 +0200
committerAdam Endrodi <ext-adam.endrodi@nokia.com>2010-12-03 11:15:38 +0200
commit144edd63948e441a2bc17d71059dafae8976932a (patch)
tree303bc9ff5bbf506b2ca8167510f6f6a0063c508a
parent5fc2e60bff2b85367f3f627d5cc029826e0e76b9 (diff)
fix transiency detection for the decorator
-rw-r--r--src/mcompositemanager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mcompositemanager.cpp b/src/mcompositemanager.cpp
index 791aa78..6fc1755 100644
--- a/src/mcompositemanager.cpp
+++ b/src/mcompositemanager.cpp
@@ -964,6 +964,9 @@ void MCompositeManagerPrivate::propertyEvent(XPropertyEvent *e)
pc = prop_caches.value(e->window);
if (pc->propertyEvent(e) && pc->isMapped()) {
+ if (pc->isDecorator())
+ // in case decorator's transiency changes, make us update the value
+ pc->transientFor();
dirtyStacking(false, e->time);
MCompositeWindow *cw = COMPOSITE_WINDOW(e->window);
if (cw && !cw->isNewlyMapped()) {
@@ -2182,7 +2185,8 @@ void MCompositeManagerPrivate::checkStacking(bool force_visibility_check,
setWindowState(cw->window(), NormalState);
}
}
- setCurrentApp(set_as_current_app, order_changed);
+ // FIXME: should be true only when order_changed or e.g. transiency changes
+ setCurrentApp(set_as_current_app, true);
}
void MCompositeManagerPrivate::stackingTimeout()