Fixed jumping to same client screen. It was broken by an earlier

change (probably double tap).  Jumping to the same server screen
worked correctly.
This commit is contained in:
crs 2003-05-08 21:59:35 +00:00
parent 0e58bab76c
commit 923935060a
1 changed files with 4 additions and 1 deletions

View File

@ -782,6 +782,7 @@ CServer::onMouseMoveSecondaryNoLock(SInt32 dx, SInt32 dy)
m_active->getShape(ax, ay, aw, ah); m_active->getShape(ax, ay, aw, ah);
// find direction of neighbor and get the neighbor // find direction of neighbor and get the neighbor
bool jump = true;
IClient* newScreen; IClient* newScreen;
do { do {
EDirection dir; EDirection dir;
@ -800,6 +801,7 @@ CServer::onMouseMoveSecondaryNoLock(SInt32 dx, SInt32 dy)
else { else {
// we haven't left the screen // we haven't left the screen
newScreen = m_active; newScreen = m_active;
jump = false;
// if waiting and mouse is not on the border we're waiting // if waiting and mouse is not on the border we're waiting
// on then stop waiting. also if it's not on the border // 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 // see if we should switch
if (!isSwitchOkay(newScreen, dir, m_x, m_y)) { if (!isSwitchOkay(newScreen, dir, m_x, m_y)) {
newScreen = m_active; newScreen = m_active;
jump = false;
} }
} while (false); } while (false);
if (newScreen != m_active) { if (jump) {
// switch screens // switch screens
switchScreen(newScreen, m_x, m_y, false); switchScreen(newScreen, m_x, m_y, false);
} }