diff --git a/shell_client.cpp b/shell_client.cpp index 02504f700c..ee622b0d56 100644 --- a/shell_client.cpp +++ b/shell_client.cpp @@ -739,4 +739,14 @@ QPoint ShellClient::transientPlacementHint() const return m_shellSurface->transientOffset(); } +bool ShellClient::isWaitingForMoveResizeSync() const +{ + return m_positionAfterResize.isValid(); +} + +void ShellClient::doResizeSync() +{ + requestGeometry(moveResizeGeometry()); +} + } diff --git a/shell_client.h b/shell_client.h index 8d21b17cf9..fee22c459a 100644 --- a/shell_client.h +++ b/shell_client.h @@ -122,6 +122,8 @@ protected: void setGeometryRestore(const QRect &geo) override { m_geomMaximizeRestore = geo; } + void doResizeSync() override; + bool isWaitingForMoveResizeSync() const override; private Q_SLOTS: void clientFullScreenChanged(bool fullScreen); diff --git a/utils.h b/utils.h index b1a55cacc0..3ec977bc75 100644 --- a/utils.h +++ b/utils.h @@ -206,7 +206,7 @@ static inline int bitCount(uint32_t mask) class ClearablePoint { public: - inline bool isValid() { + inline bool isValid() const { return m_valid; }