summaryrefslogtreecommitdiff
path: root/indra/newview/lltoolmgr.cpp
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-03-13 14:50:20 -0700
committerTodd Stinson <stinson@lindenlab.com>2012-03-13 14:50:20 -0700
commit629ec1d54d16549d42198a9ac83a33bb9b51ab22 (patch)
tree2c1d558742f0d46c2277883de4de094dcabcb7f3 /indra/newview/lltoolmgr.cpp
parent9aa0c58c20f8d60dc2f674ce1eaa805db8f599c8 (diff)
parent1c812c3c6734197835fd8cfaef286f1ad444ec64 (diff)
Pull and merge from ssh://hg@bitbucket.org/stinson_linden/viewer-development-havokai.
Diffstat (limited to 'indra/newview/lltoolmgr.cpp')
-rw-r--r--indra/newview/lltoolmgr.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp
index 6bc7c6de11..ac01316462 100644
--- a/indra/newview/lltoolmgr.cpp
+++ b/indra/newview/lltoolmgr.cpp
@@ -81,7 +81,7 @@ LLToolMgr::LLToolMgr()
// Not a panel, register these callbacks globally.
LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Build.Active", boost::bind(&LLToolMgr::inEdit, this));
LLUICtrl::EnableCallbackRegistry::currentRegistrar().add("Build.Enabled", boost::bind(&LLToolMgr::canEdit, this));
- LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Build.Toggle", boost::bind(&LLToolMgr::toggleBuildMode, this));
+ LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Build.Toggle", boost::bind(&LLToolMgr::toggleBuildMode, this, _2));
gToolNull = new LLTool(LLStringUtil::null); // Does nothing
setCurrentTool(gToolNull);
@@ -245,8 +245,15 @@ bool LLToolMgr::canEdit()
return LLViewerParcelMgr::getInstance()->allowAgentBuild();
}
-void LLToolMgr::toggleBuildMode()
+void LLToolMgr::toggleBuildMode(const LLSD& sdname)
{
+ const std::string& param = sdname.asString();
+
+ if (param == "build" && !canEdit())
+ {
+ return;
+ }
+
LLFloaterReg::toggleInstanceOrBringToFront("build");
bool build_visible = LLFloaterReg::instanceVisible("build");