summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorRichard Nelson <none@none>2010-03-26 17:00:28 -0700
committerRichard Nelson <none@none>2010-03-26 17:00:28 -0700
commitd98b2ce4865dc90e635fe75d676e4965bccfa793 (patch)
tree7a2620f6dd71b8ee9248ebb9cc2351b9aa0eb3a3 /indra/newview
parent28e3190296f7d6791e6fd0297f9fcab10239648f (diff)
parent8ab9ea934f3f7560b0d46a5db7936da5819cefc4 (diff)
merge
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lltoolpie.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 8d4f0f9116..b7947cf4ae 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -497,6 +497,8 @@ void LLToolPie::selectionPropertiesReceived()
BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
{
mHoverPick = gViewerWindow->pickImmediate(x, y, FALSE);
+ // perform a separate pick that detects transparent objects since they respond to 1-click actions
+ LLPickInfo click_action_pick = gViewerWindow->pickImmediate(x, y, TRUE);
// Show screen-space highlight glow effect
bool show_highlight = false;
@@ -508,10 +510,11 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
parent = object->getRootEdit();
}
- if (object && useClickAction(mask, object, parent))
+ LLViewerObject* click_action_object = click_action_pick.getObject();
+ if (click_action_object && useClickAction(mask, click_action_object, click_action_object->getRootEdit()))
{
show_highlight = true;
- ECursorType cursor = cursor_from_object(object);
+ ECursorType cursor = cursor_from_object(click_action_object);
gViewerWindow->setCursor(cursor);
lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolPie (inactive)" << llendl;
}