summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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()