summaryrefslogtreecommitdiff
path: root/indra/newview/llmanipscale.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llmanipscale.cpp')
-rw-r--r--indra/newview/llmanipscale.cpp45
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);
}