aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/lltoolmgr.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/linden/indra/newview/lltoolmgr.cpp b/linden/indra/newview/lltoolmgr.cpp
index 5ba7217..3a776d1 100644
--- a/linden/indra/newview/lltoolmgr.cpp
+++ b/linden/indra/newview/lltoolmgr.cpp
@@ -105,6 +105,8 @@ void LLToolMgr::initTools()
105 gBasicToolset->addTool( LLToolCompInspect::getInstance() ); 105 gBasicToolset->addTool( LLToolCompInspect::getInstance() );
106 gFaceEditToolset->addTool( LLToolCamera::getInstance() ); 106 gFaceEditToolset->addTool( LLToolCamera::getInstance() );
107 107
108 // In case window focus was lost before we got here
109 clearSavedTool();
108 // On startup, use "select" tool 110 // On startup, use "select" tool
109 setCurrentToolset(gBasicToolset); 111 setCurrentToolset(gBasicToolset);
110 112
@@ -188,9 +190,11 @@ LLTool* LLToolMgr::getCurrentTool()
188 } 190 }
189 else 191 else
190 { 192 {
191 mOverrideTool = mBaseTool ? mBaseTool->getOverrideTool(override_mask) : NULL; 193 // due to window management weirdness we can get here with gToolNull
194 bool can_override = mBaseTool && (mBaseTool != gToolNull);
195 mOverrideTool = can_override ? mBaseTool->getOverrideTool(override_mask) : NULL;
192 196
193 // use override tool if available otherwise drop back to base tool 197 // use keyboard-override tool if available otherwise drop back to base tool
194 cur_tool = mOverrideTool ? mOverrideTool : mBaseTool; 198 cur_tool = mOverrideTool ? mOverrideTool : mBaseTool;
195 } 199 }
196 200