diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml
index 3f4647b2eb..914de68d82 100755
--- a/indra/newview/app_settings/commands.xml
+++ b/indra/newview/app_settings/commands.xml
@@ -491,7 +491,8 @@
icon="move_lock"
label_ref="Command_Move_Lock_Label"
tooltip_ref="Command_Move_Lock_Tooltip"
- execute_function="Self.togglePhantom"
- is_running_function="Self.getPhantom"
+ execute_function="Self.ToggleMoveLock"
+ is_running_function="Self.GetMoveLock"
+ is_enabled_function="Self.EnableMoveLock"
/>
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index a758f933cc..37f35b63a7 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -4117,8 +4117,8 @@ class FSSelfCheckForceSit : public view_listener_t
}
};
-// Phantom mode -KC
-class FSSelfTogglePhantom : public view_listener_t
+// Phantom mode -KC &
+class FSSelfToggleMoveLock : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
@@ -4138,7 +4138,7 @@ class FSSelfTogglePhantom : public view_listener_t
};
-class FSSelfCheckPhantom : public view_listener_t
+class FSSelfCheckMoveLock : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
@@ -4157,6 +4157,17 @@ class FSSelfCheckPhantom : public view_listener_t
}
};
+bool enable_move_lock()
+{
+#ifdef OPENSIM
+ // Phantom mode always works on opensim, at least right now.
+ if (LLGridManager::getInstance()->isInOpenSim())
+ return true;
+#endif // OPENSIM
+ return (gSavedSettings.getBOOL("UseLSLBridge") && FSLSLBridge::instance().isBridgeValid());
+}
+//
+
// [SJ - Adding IgnorePrejump in Menu ]
class FSSelfToggleIgnorePreJump : public view_listener_t
{
@@ -10424,8 +10435,9 @@ void initialize_menus()
view_listener_t::addMenu(new FSSelfForceSit(), "Self.ForceSit"); //KC
enable.add("Self.EnableForceSit", boost::bind(&enable_forcesit_self)); //KC
view_listener_t::addMenu(new FSSelfCheckForceSit(), "Self.getForceSit"); //KC
- view_listener_t::addMenu(new FSSelfTogglePhantom(), "Self.togglePhantom"); //KC
- view_listener_t::addMenu(new FSSelfCheckPhantom(), "Self.getPhantom"); //KC
+ view_listener_t::addMenu(new FSSelfToggleMoveLock(), "Self.ToggleMoveLock"); //KC
+ view_listener_t::addMenu(new FSSelfCheckMoveLock(), "Self.GetMoveLock"); //KC
+ enable.add("Self.EnableMoveLock", boost::bind(&enable_move_lock)); //
view_listener_t::addMenu(new FSSelfToggleIgnorePreJump(), "Self.toggleIgnorePreJump"); //SJ
view_listener_t::addMenu(new FSSelfCheckIgnorePreJump(), "Self.getIgnorePreJump"); //SJ
view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments");
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
index f3ec40b24d..5d2b609276 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
@@ -27,7 +27,6 @@
-
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 298dda223d..8ed2b10c50 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -178,9 +178,11 @@
shortcut="control|alt|P"
name="Move Lock">
+ function="Self.GetMoveLock" />
+ function="Self.ToggleMoveLock" />
+
-
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
index 4e25612d2b..777128fb47 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
@@ -22,7 +22,6 @@
-