summaryrefslogtreecommitdiff
path: root/indra/newview/lltoolmgr.cpp
diff options
context:
space:
mode:
authorChristian Goetze <cg@lindenlab.com>2007-10-10 00:01:43 +0000
committerChristian Goetze <cg@lindenlab.com>2007-10-10 00:01:43 +0000
commit5ec8bbbe2244ea70d8aa74b5c572351632699425 (patch)
tree12a4e92720c531105a21ef4f9f363b8572d72a3a /indra/newview/lltoolmgr.cpp
parentb3b62c3b9ef32c4dbcae51cd3ef582734d5717bb (diff)
svn merge -r71238:71367 svn+ssh://svn/svn/linden/branches/maint-ui-qa3
Diffstat (limited to 'indra/newview/lltoolmgr.cpp')
-rw-r--r--indra/newview/lltoolmgr.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp
index 7391a53036..ae74eba026 100644
--- a/indra/newview/lltoolmgr.cpp
+++ b/indra/newview/lltoolmgr.cpp
@@ -338,18 +338,21 @@ LLTool* LLToolMgr::getCurrentTool()
cur_tool = mOverrideTool ? mOverrideTool : mBaseTool;
}
+ LLTool* prev_tool = mSelectedTool;
+ // Set the selected tool to avoid infinite recursion
+ mSelectedTool = cur_tool;
+
//update tool selection status
- if (mSelectedTool != cur_tool)
+ if (prev_tool != cur_tool)
{
- if (mSelectedTool)
+ if (prev_tool)
{
- mSelectedTool->handleDeselect();
+ prev_tool->handleDeselect();
}
if (cur_tool)
{
cur_tool->handleSelect();
}
- mSelectedTool = cur_tool;
}
return mSelectedTool;