diff --git a/abstract_client.h b/abstract_client.h --- a/abstract_client.h +++ b/abstract_client.h @@ -460,6 +460,7 @@ virtual QRect iconGeometry() const; virtual bool userCanSetFullScreen() const = 0; virtual bool userCanSetNoBorder() const = 0; + virtual void checkNoBorder(); virtual void setOnActivities(QStringList newActivitiesList); virtual void setOnAllActivities(bool set) = 0; const WindowRules* rules() const { diff --git a/abstract_client.cpp b/abstract_client.cpp --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -1797,4 +1797,9 @@ Q_UNUSED(newActivitiesList) } +void AbstractClient::checkNoBorder() +{ + setNoBorder(false); +} + } diff --git a/client.h b/client.h --- a/client.h +++ b/client.h @@ -162,7 +162,7 @@ bool noBorder() const override; void setNoBorder(bool set) override; bool userCanSetNoBorder() const override; - void checkNoBorder(); + void checkNoBorder() override; int sessionStackingOrder() const; diff --git a/workspace.cpp b/workspace.cpp --- a/workspace.cpp +++ b/workspace.cpp @@ -865,8 +865,8 @@ !options->borderlessMaximizedWindows()) { // in case borderless maximized windows option changed and new option // is to have borders, we need to unset the borders for all maximized windows - for (ClientList::Iterator it = clients.begin(); - it != clients.end(); + for (auto it = m_allClients.begin(); + it != m_allClients.end(); ++it) { if ((*it)->maximizeMode() == MaximizeFull) (*it)->checkNoBorder();