diff options
Diffstat (limited to 'indra/newview/llmanipscale.cpp')
-rw-r--r-- | indra/newview/llmanipscale.cpp | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp index 7df5311aa4..a67e3fcce6 100644 --- a/indra/newview/llmanipscale.cpp +++ b/indra/newview/llmanipscale.cpp @@ -374,29 +374,32 @@ BOOL LLManipScale::handleMouseUp(S32 x, S32 y, MASK mask) // first, perform normal processing in case this was a quick-click handleHover(x, y, mask); - if( (LL_FACE_MIN <= (S32)mManipPart) - && ((S32)mManipPart <= LL_FACE_MAX) ) - { - sendUpdates(TRUE,TRUE,FALSE); - } - else - if( (LL_CORNER_MIN <= (S32)mManipPart) - && ((S32)mManipPart <= LL_CORNER_MAX) ) + if( hasMouseCapture() ) { - sendUpdates(TRUE,TRUE,TRUE); - } - - //send texture update - gSelectMgr->adjustTexturesByScale(TRUE, getStretchTextures()); - - gSelectMgr->enableSilhouette(TRUE); - mManipPart = LL_NO_PART; + if( (LL_FACE_MIN <= (S32)mManipPart) + && ((S32)mManipPart <= LL_FACE_MAX) ) + { + sendUpdates(TRUE,TRUE,FALSE); + } + else + if( (LL_CORNER_MIN <= (S32)mManipPart) + && ((S32)mManipPart <= LL_CORNER_MAX) ) + { + sendUpdates(TRUE,TRUE,TRUE); + } + + //send texture update + gSelectMgr->adjustTexturesByScale(TRUE, getStretchTextures()); + + gSelectMgr->enableSilhouette(TRUE); + mManipPart = LL_NO_PART; - // Might have missed last update due to UPDATE_DELAY timing - gSelectMgr->sendMultipleUpdate( mLastUpdateFlags ); - - //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); - gSelectMgr->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK); + // Might have missed last update due to UPDATE_DELAY timing + gSelectMgr->sendMultipleUpdate( mLastUpdateFlags ); + + //gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject")); + gSelectMgr->saveSelectedObjectTransform(SELECT_ACTION_TYPE_PICK); + } return LLManip::handleMouseUp(x, y, mask); } |