From 65e2f7b4d2f080a5bcbe00a1926f7f95e7926a79 Mon Sep 17 00:00:00 2001
From: McCabe Maxsted
Date: Wed, 21 Oct 2009 16:48:52 -0700
Subject: Added Advanced menu option for AllowMultipleViewers for testing
 purposes

---
 ChangeLog.txt                                      |  8 ++++++
 linden/indra/newview/llviewermenu.cpp              | 32 +++++++++++++++++++++-
 .../skins/default/xui/en-us/menu_viewer.xml        |  7 +++++
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/ChangeLog.txt b/ChangeLog.txt
index 5a4670d..3a474b4 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,11 @@
+2009-10-21 McCabe Maxsted  <hakushakukun@gmail.com>
+
+	* Added Advanced menu option for AllowMultipleViewers for testing purposes.
+	
+	  modified:   linden/indra/newview/llviewermenu.cpp
+	  modified:   linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+
+
 2009-10-19 McCabe Maxsted  <hakushakukun@gmail.com>
 
 	* Partial fix for avatar names not displaying at > 1024m
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 4493ddf..d0e326c 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -10368,6 +10368,35 @@ class LLAvatarReportAbuse : public view_listener_t
 
 
 
+////////////////////////////
+// ALLOW MULTIPLE VIEWERS //
+////////////////////////////
+
+
+class LLAdvancedToggleMultipleViewers : public view_listener_t
+{
+	bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
+	{
+		BOOL cur_val = gSavedSettings.getBOOL("AllowMultipleViewers");
+		gSavedSettings.setBOOL("AllowMultipleViewers", !cur_val );
+		return true;
+	}
+};
+
+
+class LLAdvancedCheckMultipleViewers : public view_listener_t
+{
+	bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
+	{
+		bool new_value = gSavedSettings.getBOOL("AllowMultipleViewers");
+		std::string control_name = userdata["control"].asString();
+		gMenuHolder->findControl(control_name)->setValue(new_value);
+		return true;
+	}
+};
+
+
+
 ///////////////
 // RLVa Main //
 ///////////////
@@ -10793,7 +10822,8 @@ void initialize_menus()
 	addMenu(new LLAdvancedCheckViewAdminOptions(), "Advanced.CheckViewAdminOptions");
 	addMenu(new LLAdvancedRequestAdminStatus(), "Advanced.RequestAdminStatus");
 	addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus");
-
+	addMenu(new LLAdvancedToggleMultipleViewers(), "Advanced.ToggleMultipleViewers");
+	addMenu(new LLAdvancedCheckMultipleViewers(), "Advanced.CheckMultipleViewers");
 
 	// RLVa
 	addMenu(new RLVaMainToggle(), "RLVa.Main.Toggle");
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
index 8d55a3b..222a9ad 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
@@ -2009,6 +2009,13 @@
       <on_click function="Advanced.ToggleClothingFloater"
                 userdata="" />
     </menu_item_check>
+    <menu_item_check name="Allow Multiple Instances"
+            label="Allow Multiple Instances">
+      <on_click function="Advanced.ToggleMultipleViewers"
+                userdata="" />
+      <on_check function="Advanced.CheckMultipleViewers"
+                userdata="" />
+    </menu_item_check>
     <menu_item_call name="Debug Settings"
                     label="Debug Settings">
       <on_click function="Advanced.ShowDebugSettings"
-- 
cgit v1.1