diff --git a/geometry.cpp b/geometry.cpp --- a/geometry.cpp +++ b/geometry.cpp @@ -2142,9 +2142,6 @@ void AbstractClient::maximize(MaximizeMode m) { - if (m == maximizeMode()) { - return; - } setMaximize(m & MaximizeVertical, m & MaximizeHorizontal); } diff --git a/shell_client.cpp b/shell_client.cpp --- a/shell_client.cpp +++ b/shell_client.cpp @@ -827,6 +827,10 @@ } // TODO: add more checks as in Client + if (m_requestedMaximizeMode == oldMode) { + return; + } + // call into decoration update borders if (isDecorated() && decoration()->client() && !(options->borderlessMaximizedWindows() && m_requestedMaximizeMode == KWin::MaximizeFull)) { changeMaximizeRecursion = true;