Commit 09d275d7f362c1e1623832e047f5016f89c10976

Authored by Colomban Wendling
1 parent fb9db69c

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.
Showing 2 changed files with 5 additions and 4 deletions   Show diff stats
debian/changelog
... ... @@ -7,6 +7,7 @@ compiz (2:0.9.12.2+hypra7.8) UNRELEASED; urgency=medium
7 7 * Fix ezoom ABI dependency on focuspoll.
8 8 * Track notification-daemon notifications.
9 9 * Fix support for GSettings defaults overrides.
  10 + * Fix missing Firefox's frame in certain cases.
10 11  
11 12 -- Colomban Wendling <cwendling@hypra.fr> Wed, 24 Oct 2018 10:08:20 +0200
12 13  
... ...
src/event.cpp
... ... @@ -1496,16 +1496,16 @@ CompScreenImpl::_handleEvent (XEvent *event)
1496 1496 if (w)
1497 1497 {
1498 1498 if (w->priv->pendingMaps)
  1499 + w->priv->managed = true;
  1500 +
  1501 + if (w->priv->managed && !w->priv->serverFrame)
1499 1502 {
1500 1503 /* The only case where this happens
1501 1504 * is where the window unmaps itself
1502 1505 * but doesn't get destroyed so when
1503 1506 * it re-maps we need to reparent it */
1504 1507  
1505   - if (!w->priv->serverFrame)
1506   - w->priv->reparent ();
1507   -
1508   - w->priv->managed = true;
  1508 + w->priv->reparent ();
1509 1509 }
1510 1510  
1511 1511 /* been shaded */
... ...