diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 07225754a9..1ed7688c9c 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3648,6 +3648,9 @@ void LLViewerWindow::updateUI() updateLayout(); + // Backout MAINT-3250 + mLastMousePoint = mCurrentMousePoint; + saveLastMouse(mCurrentMousePoint); // cleanup unused selections when no modal dialogs are open @@ -3890,7 +3893,8 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point) // Store last mouse location. // If mouse leaves window, pretend last point was on edge of window - mLastMousePoint = mCurrentMousePoint; + // Backout MAINT-3250 + //mLastMousePoint = mCurrentMousePoint; if (point.mX < 0) { diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 53ec199ce1..7e7fe5432b 100755 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -1696,6 +1696,16 @@ void LLWorldMapView::handleClick(S32 x, S32 y, MASK mask, } +// Backout MAINT-3250 +BOOL outside_slop(S32 x, S32 y, S32 start_x, S32 start_y) +{ + S32 dx = x - start_x; + S32 dy = y - start_y; + + return (dx <= -2 || 2 <= dx || dy <= -2 || 2 <= dy); +} +// + BOOL LLWorldMapView::handleMouseDown( S32 x, S32 y, MASK mask ) { gFocusMgr.setMouseCapture( this ); @@ -1778,7 +1788,10 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask ) { if (hasMouseCapture()) { - if (mPanning || llabs(x - mMouseDownX) > 1 || llabs(y - mMouseDownY) > 1) + // Backout MAINT-3250 + //if (mPanning || llabs(x - mMouseDownX) > 1 || llabs(y - mMouseDownY) > 1) + if (mPanning || outside_slop(x, y, mMouseDownX, mMouseDownY)) + // { // just started panning, so hide cursor if (!mPanning) @@ -1795,6 +1808,9 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask ) sPanY += delta_y; sTargetPanX = sPanX; sTargetPanY = sPanY; + + // Backout MAINT-3250 + gViewerWindow->moveCursorToCenter(); } // doesn't matter, cursor should be hidden