diff --git a/src/activation.cpp b/src/activation.cpp index fa00c70054..70e7b7595c 100644 --- a/src/activation.cpp +++ b/src/activation.cpp @@ -425,19 +425,6 @@ bool Workspace::takeActivity(Window *window, ActivityFlags flags) return ret; } -/** - * Informs the workspace that the window \a window has been hidden. If it - * was the active window (or to-become the active window), - * the workspace activates another one. - * - * @note @p c may already be destroyed. - */ -void Workspace::windowHidden(Window *window) -{ - Q_ASSERT(!window->isShown() || !window->isOnCurrentDesktop() || !window->isOnCurrentActivity()); - activateNextWindow(window); -} - Window *Workspace::windowUnderMouse(Output *output) const { auto it = stackingOrder().constEnd(); diff --git a/src/window.cpp b/src/window.cpp index c13723d37b..33df850c8a 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -4289,7 +4289,7 @@ void Window::setHidden(bool hidden) m_hidden = hidden; doSetHidden(); if (hidden) { - workspace()->windowHidden(this); + workspace()->activateNextWindow(this); Q_EMIT windowHidden(this); } else { Q_EMIT windowShown(this); diff --git a/src/workspace.cpp b/src/workspace.cpp index 7b5cef1ea4..8176c2afa5 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp @@ -819,7 +819,7 @@ void Workspace::addWaylandWindow(Window *window) void Workspace::removeWaylandWindow(Window *window) { - windowHidden(window); + activateNextWindow(window); removeWindow(window); } diff --git a/src/workspace.h b/src/workspace.h index b39473c340..7abbb2d28b 100644 --- a/src/workspace.h +++ b/src/workspace.h @@ -241,7 +241,6 @@ public: void constrain(Window *below, Window *above); void unconstrain(Window *below, Window *above); - void windowHidden(Window *); void windowAttentionChanged(Window *, bool set); /** diff --git a/src/x11window.cpp b/src/x11window.cpp index f47e7ff99b..8ec10b374c 100644 --- a/src/x11window.cpp +++ b/src/x11window.cpp @@ -420,7 +420,7 @@ void X11Window::releaseWindow(bool on_shutdown) exportMappingState(XCB_ICCCM_WM_STATE_WITHDRAWN); setModal(false); // Otherwise its mainwindow wouldn't get focus if (!on_shutdown) { - workspace()->windowHidden(this); + workspace()->activateNextWindow(this); } m_frame.unmap(); // Destroying decoration would cause ugly visual effect cleanGrouping(); @@ -493,7 +493,7 @@ void X11Window::destroyWindow() finishWindowRules(); blockGeometryUpdates(); setModal(false); - workspace()->windowHidden(this); + workspace()->activateNextWindow(this); cleanGrouping(); workspace()->removeX11Window(this); if (WinInfo *cinfo = dynamic_cast(info)) { diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp index 16b0c90058..c361c62a92 100644 --- a/src/xdgshellwindow.cpp +++ b/src/xdgshellwindow.cpp @@ -718,7 +718,7 @@ void XdgToplevelWindow::doMinimize() { if (m_isInitialized) { if (isMinimized()) { - workspace()->windowHidden(this); + workspace()->activateNextWindow(this); } } workspace()->updateMinimizedOfTransients(this);