[wayland] Provide correct input transformation matrix for client-side decorated clients

Summary: Pointer events must be in surface-local coordinates, not window geometry.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Maniphest Tasks: T10867

Differential Revision: https://phabricator.kde.org/D24456
This commit is contained in:
Vlad Zahorodnii 2019-09-28 16:45:13 +03:00
parent 9f7a856d23
commit 038509e603

View file

@ -1789,9 +1789,9 @@ void XdgShellClient::doResizeSync()
QMatrix4x4 XdgShellClient::inputTransformation() const QMatrix4x4 XdgShellClient::inputTransformation() const
{ {
QMatrix4x4 m = Toplevel::inputTransformation(); QMatrix4x4 matrix;
m.translate(-borderLeft(), -borderTop()); matrix.translate(-m_bufferGeometry.x(), -m_bufferGeometry.y());
return m; return matrix;
} }
void XdgShellClient::installServerSideDecoration(KWayland::Server::ServerSideDecorationInterface *deco) void XdgShellClient::installServerSideDecoration(KWayland::Server::ServerSideDecorationInterface *deco)