Changed async picks in LLToolPie::handleMouseDown and LLToolPie::handleRightMouseDown to sync.

This fixes EXT-3658 ("DEV-44422 webprim doesn't get mouse up events from the Mac trackpad").

Reviewed by Richard.
meow-7.2.2
Monroe Linden 2010-01-04 17:43:25 -08:00
parent faad5eff72
commit b282f04b31
2 changed files with 11 additions and 19 deletions

View File

@ -101,16 +101,13 @@ BOOL LLToolPie::handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType clicktyp
BOOL LLToolPie::handleMouseDown(S32 x, S32 y, MASK mask)
{
//left mouse down always picks transparent
gViewerWindow->pickAsync(x, y, mask, leftMouseCallback, TRUE);
mPick = gViewerWindow->pickImmediate(x, y, TRUE);
mPick.mKeyMask = mask;
mGrabMouseButtonDown = TRUE;
return TRUE;
}
pickLeftMouseDownCallback();
// static
void LLToolPie::leftMouseCallback(const LLPickInfo& pick_info)
{
LLToolPie::getInstance()->mPick = pick_info;
LLToolPie::getInstance()->pickLeftMouseDownCallback();
return TRUE;
}
// Spawn context menus on right mouse down so you can drag over and select
@ -118,8 +115,13 @@ void LLToolPie::leftMouseCallback(const LLPickInfo& pick_info)
BOOL LLToolPie::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
// don't pick transparent so users can't "pay" transparent objects
gViewerWindow->pickAsync(x, y, mask, rightMouseCallback, FALSE);
mPick = gViewerWindow->pickImmediate(x, y, FALSE);
mPick.mKeyMask = mask;
// claim not handled so UI focus stays same
pickRightMouseDownCallback();
return FALSE;
}
@ -134,13 +136,6 @@ BOOL LLToolPie::handleScrollWheel(S32 x, S32 y, S32 clicks)
return LLViewerMediaFocus::getInstance()->handleScrollWheel(x, y, clicks);
}
// static
void LLToolPie::rightMouseCallback(const LLPickInfo& pick_info)
{
LLToolPie::getInstance()->mPick = pick_info;
LLToolPie::getInstance()->pickRightMouseDownCallback();
}
// True if you selected an object.
BOOL LLToolPie::pickLeftMouseDownCallback()
{

View File

@ -71,9 +71,6 @@ public:
LLObjectSelection* getLeftClickSelection() { return (LLObjectSelection*)mLeftClickSelection; }
void resetSelection();
static void leftMouseCallback(const LLPickInfo& pick_info);
static void rightMouseCallback(const LLPickInfo& pick_info);
static void selectionPropertiesReceived();
static void showAvatarInspector(const LLUUID& avatar_id);