diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-05-02 15:59:15 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-05-02 15:59:15 -0700 |
| commit | 56af97063aaa35c1a70f5edaf47f4a015600860d (patch) | |
| tree | 299b113fab1ff7176c86342aa3e881491cd3b883 /indra/newview/lltoolmgr.cpp | |
| parent | b679975d8fdc22d33d0f62288934be8f0209157e (diff) | |
| parent | 681c5de92bd09622de360818682240b0a17403f7 (diff) | |
Pull from vir/drano
Diffstat (limited to 'indra/newview/lltoolmgr.cpp')
| -rw-r--r-- | indra/newview/lltoolmgr.cpp | 11 |
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"); |
