diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/lltoolmgr.cpp | 8 |
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 | ||