From a3e268e7376952e43386dd456e68053cbdd8d52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Wed, 2 Nov 2011 21:13:47 +0100 Subject: [PATCH] checkWorspacePosition on screen changes only REVIEW: 103029 BUG: 283302 --- client.h | 1 + geometry.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client.h b/client.h index c916029e38..26c7c74be8 100644 --- a/client.h +++ b/client.h @@ -586,6 +586,7 @@ private: Window move_resize_grab_window; bool move_resize_has_keyboard_grab; bool unrestrictedMoveResize; + int moveResizeStartScreen; Position mode; QPoint moveOffset; diff --git a/geometry.cpp b/geometry.cpp index cd9d7a08f4..69eb5661ba 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -2580,6 +2580,7 @@ bool Client::startMoveResize() } moveResizeMode = true; + moveResizeStartScreen = screen(); workspace()->setClientIsMoving(this); initialMoveResizeGeom = moveResizeGeom = geometry(); checkUnrestrictedMoveResize(); @@ -2644,7 +2645,7 @@ void Client::finishMoveResize(bool cancel) setGeometry(initialMoveResizeGeom); else setGeometry(moveResizeGeom); - if (maximizeMode() != MaximizeRestore) + if (screen() != moveResizeStartScreen && maximizeMode() != MaximizeRestore) checkWorkspacePosition(); } #else