diff --git a/panels/dock/x11dockhelper.cpp b/panels/dock/x11dockhelper.cpp index b4981b554..a13de2612 100644 --- a/panels/dock/x11dockhelper.cpp +++ b/panels/dock/x11dockhelper.cpp @@ -403,14 +403,19 @@ void X11DockHelper::onWindowClientListChanged() onWindowAdded(window); } } + bool mightNeedRecheckDockOverlap = false; for (auto it = m_windows.cbegin(); it != m_windows.cend();) { if (!windows.contains(it.key())) { delete it.value(); it = m_windows.erase(it); + mightNeedRecheckDockOverlap = true; } else { it++; } } + if (mightNeedRecheckDockOverlap) { + Q_EMIT isWindowOverlapChanged(isWindowOverlap()); + } } void X11DockHelper::onWindowAdded(xcb_window_t window)