From 923935060aa557c357ca04472b2755064f8ba516 Mon Sep 17 00:00:00 2001 From: crs Date: Thu, 8 May 2003 21:59:35 +0000 Subject: [PATCH] Fixed jumping to same client screen. It was broken by an earlier change (probably double tap). Jumping to the same server screen worked correctly. --- lib/server/CServer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/server/CServer.cpp b/lib/server/CServer.cpp index fd687114..f8f531b8 100644 --- a/lib/server/CServer.cpp +++ b/lib/server/CServer.cpp @@ -782,6 +782,7 @@ CServer::onMouseMoveSecondaryNoLock(SInt32 dx, SInt32 dy) m_active->getShape(ax, ay, aw, ah); // find direction of neighbor and get the neighbor + bool jump = true; IClient* newScreen; do { EDirection dir; @@ -800,6 +801,7 @@ CServer::onMouseMoveSecondaryNoLock(SInt32 dx, SInt32 dy) else { // we haven't left the screen newScreen = m_active; + jump = false; // if waiting and mouse is not on the border we're waiting // on then stop waiting. also if it's not on the border @@ -843,10 +845,11 @@ CServer::onMouseMoveSecondaryNoLock(SInt32 dx, SInt32 dy) // see if we should switch if (!isSwitchOkay(newScreen, dir, m_x, m_y)) { newScreen = m_active; + jump = false; } } while (false); - if (newScreen != m_active) { + if (jump) { // switch screens switchScreen(newScreen, m_x, m_y, false); }