diff --git a/xdgshellclient.cpp b/xdgshellclient.cpp --- a/xdgshellclient.cpp +++ b/xdgshellclient.cpp @@ -389,7 +389,10 @@ void XdgShellClient::addDamage(const QRegion &damage) { - repaints_region += damage.translated(clientPos()); + const int offsetX = m_bufferGeometry.x() - frameGeometry().x(); + const int offsetY = m_bufferGeometry.y() - frameGeometry().y(); + repaints_region += damage.translated(offsetX, offsetY); + Toplevel::addDamage(damage); }