Move geometry before blocking to X11Client

It's only used by X11Client. Neither InternalClient nor WaylandClient
need buffer/frame/client geometry before blocking.
This commit is contained in:
Vlad Zahorodnii 2021-05-20 16:51:41 +03:00
parent 9a7ab8a62e
commit c929d977a7
4 changed files with 11 additions and 34 deletions

View file

@ -2057,28 +2057,6 @@ BORDER(Right)
BORDER(Top)
#undef BORDER
QRect AbstractClient::bufferGeometryBeforeUpdateBlocking() const
{
return m_bufferGeometryBeforeUpdateBlocking;
}
QRect AbstractClient::frameGeometryBeforeUpdateBlocking() const
{
return m_frameGeometryBeforeUpdateBlocking;
}
QRect AbstractClient::clientGeometryBeforeUpdateBlocking() const
{
return m_clientGeometryBeforeUpdateBlocking;
}
void AbstractClient::updateGeometryBeforeUpdateBlocking()
{
m_bufferGeometryBeforeUpdateBlocking = bufferGeometry();
m_frameGeometryBeforeUpdateBlocking = frameGeometry();
m_clientGeometryBeforeUpdateBlocking = clientGeometry();
}
void AbstractClient::updateInitialMoveResizeGeometry()
{
m_interactiveMoveResize.initialGeometry = frameGeometry();

View file

@ -1070,10 +1070,6 @@ protected:
};
MoveResizeMode pendingMoveResizeMode() const;
void setPendingMoveResizeMode(MoveResizeMode mode);
QRect bufferGeometryBeforeUpdateBlocking() const;
QRect frameGeometryBeforeUpdateBlocking() const;
QRect clientGeometryBeforeUpdateBlocking() const;
void updateGeometryBeforeUpdateBlocking();
virtual void moveResizeInternal(const QRect &rect, MoveResizeMode mode) = 0;
/**
@ -1305,9 +1301,6 @@ private:
MoveResizeMode m_pendingMoveResizeMode = MoveResizeMode::None;
friend class GeometryUpdatesBlocker;
QRect m_moveResizeGeometry;
QRect m_bufferGeometryBeforeUpdateBlocking;
QRect m_frameGeometryBeforeUpdateBlocking;
QRect m_clientGeometryBeforeUpdateBlocking;
QRect m_keyboardGeometryRestore;
QRect m_maximizeGeometryRestore;
QRect m_fullscreenGeometryRestore;

View file

@ -3992,13 +3992,16 @@ void X11Client::moveResizeInternal(const QRect &rect, MoveResizeMode mode)
return;
}
const QRect oldBufferGeometry = bufferGeometryBeforeUpdateBlocking();
const QRect oldFrameGeometry = frameGeometryBeforeUpdateBlocking();
const QRect oldClientGeometry = clientGeometryBeforeUpdateBlocking();
const QRect oldBufferGeometry = m_bufferGeometryBeforeUpdateBlocking;
const QRect oldFrameGeometry = m_frameGeometryBeforeUpdateBlocking;
const QRect oldClientGeometry = m_clientGeometryBeforeUpdateBlocking;
updateServerGeometry();
updateWindowRules(Rules::Position|Rules::Size);
updateGeometryBeforeUpdateBlocking();
m_bufferGeometryBeforeUpdateBlocking = m_bufferGeometry;
m_frameGeometryBeforeUpdateBlocking = m_frameGeometry;
m_clientGeometryBeforeUpdateBlocking = m_clientGeometry;
// keep track of old maximize mode
// to detect changes
@ -4019,7 +4022,7 @@ void X11Client::moveResizeInternal(const QRect &rect, MoveResizeMode mode)
void X11Client::updateServerGeometry()
{
const QRect oldBufferGeometry = bufferGeometryBeforeUpdateBlocking();
const QRect oldBufferGeometry = m_bufferGeometryBeforeUpdateBlocking;
if (oldBufferGeometry.size() != m_bufferGeometry.size()) {
resizeDecoration();

View file

@ -503,6 +503,9 @@ private:
QMetaObject::Connection m_edgeGeometryTrackingConnection;
QMargins m_clientFrameExtents;
QRect m_bufferGeometryBeforeUpdateBlocking;
QRect m_frameGeometryBeforeUpdateBlocking;
QRect m_clientGeometryBeforeUpdateBlocking;
};
inline xcb_window_t X11Client::wrapperId() const