From 09d275d7f362c1e1623832e047f5016f89c10976 Mon Sep 17 00:00:00 2001 From: Colomban Wendling Date: Tue, 18 Dec 2018 18:00:44 +0100 Subject: [PATCH] Fix missing Firefox's frame in certain cases When Firefox brings itself back from being minimized, it forcefully maps itself, and we failed to reparent it. Fix this by reparenting any managed windows that lacks a frame, even if we didn't ask for the map ourselves. --- debian/changelog | 1 + src/event.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index eb6e46012..d0d9b0f4f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ compiz (2:0.9.12.2+hypra7.8) UNRELEASED; urgency=medium * Fix ezoom ABI dependency on focuspoll. * Track notification-daemon notifications. * Fix support for GSettings defaults overrides. + * Fix missing Firefox's frame in certain cases. -- Colomban Wendling Wed, 24 Oct 2018 10:08:20 +0200 diff --git a/src/event.cpp b/src/event.cpp index 9799a192b..1e9dd0fd1 100644 --- a/src/event.cpp +++ b/src/event.cpp @@ -1496,16 +1496,16 @@ CompScreenImpl::_handleEvent (XEvent *event) if (w) { if (w->priv->pendingMaps) + w->priv->managed = true; + + if (w->priv->managed && !w->priv->serverFrame) { /* The only case where this happens * is where the window unmaps itself * but doesn't get destroyed so when * it re-maps we need to reparent it */ - if (!w->priv->serverFrame) - w->priv->reparent (); - - w->priv->managed = true; + w->priv->reparent (); } /* been shaded */ -- GitLab