Merged in RLVa. Viewer broken!
This commit is contained in:
@@ -64,6 +64,10 @@
|
||||
#include "llvoavatar.h"
|
||||
#include "llworld.h"
|
||||
|
||||
// [RLVa:KB]
|
||||
#include "rlvhandler.h"
|
||||
// [/RLVa:KB]
|
||||
|
||||
const S32 SLOP_DIST_SQ = 4;
|
||||
|
||||
// Override modifier key behavior with these buttons
|
||||
@@ -158,7 +162,11 @@ void LLToolGrab::pickCallback(const LLPickInfo& pick_info)
|
||||
}
|
||||
|
||||
// if not over object, do nothing
|
||||
if (!objectp)
|
||||
// if (!objectp)
|
||||
// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Added: RLVa-1.1.0l
|
||||
// Block initiating a drag operation on an object that can't be touched
|
||||
if ( (!objectp) || ((rlv_handler_t::isEnabled()) && (!gRlvHandler.canTouch(objectp, pick_info.mObjectOffset))) )
|
||||
// [/RLVa:KB]
|
||||
{
|
||||
LLToolGrab::getInstance()->setMouseCapture(TRUE);
|
||||
LLToolGrab::getInstance()->mMode = GRAB_NOOBJECT;
|
||||
@@ -421,6 +429,22 @@ BOOL LLToolGrab::handleHover(S32 x, S32 y, MASK mask)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Modified: RLVa-1.1.0l
|
||||
// Block dragging an object beyond touch range when @fartouch=n restricted
|
||||
if ( (rlv_handler_t::isEnabled()) && (GRAB_INACTIVE != mMode) && (GRAB_NOOBJECT != mMode) && (hasMouseCapture()) &&
|
||||
(gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) && (!gRlvHandler.canTouch(mGrabPick.getObject(), mGrabPick.mObjectOffset)) )
|
||||
{
|
||||
if (gGrabTransientTool)
|
||||
{
|
||||
// Prevent the grab tool from popping up as soon as we kill the drag operation
|
||||
gBasicToolset->selectTool(gGrabTransientTool);
|
||||
gGrabTransientTool = NULL;
|
||||
}
|
||||
setMouseCapture(FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
|
||||
// Do the right hover based on mode
|
||||
switch( mMode )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user