diff --git a/indra/develop.py b/indra/develop.py
index 249b6519fc6b29b22ba680b3b24c0320082ed124..b2b494d1b3d3ee4d0ab772d3c58b6d5ac13c33c5 100755
--- a/indra/develop.py
+++ b/indra/develop.py
@@ -579,19 +579,23 @@ def get_build_cmd(self):
         return ('"%sdevenv.com" %s.sln /build %s' % 
                 (self.find_visual_studio(), self.project_name, self.build_type))
 
-    def run(self, command, name=None):
+    def run(self, command, name=None, retry_on=None, retries=1):
         '''Run a program.  If the program fails, raise an exception.'''
-        ret = os.system(command)
-        if ret:
-            if name is None:
-                name = command.split(None, 1)[0]
-            path = self.find_in_path(name)
-            if not path:
-                ret = 'was not found'
-            else:
-                ret = 'exited with status %d' % ret
-            raise CommandError('the command %r %s' %
-                               (name, ret))
+        while retries:
+            retries = retries - 1
+            ret = os.system(command)
+            if ret:
+                if name is None:
+                    name = command.split(None, 1)[0]
+                path = self.find_in_path(name)
+                if not path:
+                    error = 'was not found'
+                else:
+                    error = 'exited with status %d' % ret
+                if retry_on is not None and retry_on == ret:
+                    print "Retrying... the command %r %s" % (name, error)
+                else:
+                    raise CommandError('the command %r %s' % (name, error))
 
     def run_cmake(self, args=[]):
         '''Override to add the vstool.exe call after running cmake.'''
@@ -629,11 +633,11 @@ def run_build(self, opts, targets):
                     for t in targets:
                         cmd = '%s /project %s %s' % (build_cmd, t, ' '.join(opts))
                         print 'Running %r in %r' % (cmd, d)
-                        self.run(cmd)
+                        self.run(cmd, retry_on=4, retries=3)
                 else:
                     cmd = '%s %s' % (build_cmd, ' '.join(opts))
                     print 'Running %r in %r' % (cmd, d)
-                    self.run(cmd)
+                    self.run(cmd, retry_on=4, retries=3)
             finally:
                 os.chdir(cwd)
                 
diff --git a/indra/lib/python/indra/util/llversion.py b/indra/lib/python/indra/util/llversion.py
index c48ab679f4c62015305588175d2b059c4a61ab9f..2718a85f414cb958db30e8035bf21742583a084b 100644
--- a/indra/lib/python/indra/util/llversion.py
+++ b/indra/lib/python/indra/util/llversion.py
@@ -103,11 +103,21 @@ def get_hg_repo():
     return output
 
 def get_hg_changeset():
-    status, output = commands.getstatusoutput('hg id -i')
+    # The right thing to do:
+    # status, output = commands.getstatusoutput('hg id -i')
+    # if status:
+    #     print >> sys.stderr, output
+    #    sys.exit(1)
+
+    # The temporary hack:
+    status, output = commands.getstatusoutput('hg parents --template "{rev}"')
     if status:
         print >> sys.stderr, output
         sys.exit(1)
-    return output
+    lines = output.splitlines()
+    if len(lines) > 1:
+        print >> sys.stderr, 'ERROR: working directory has %d parents' % len(lines)
+    return lines[0]
 
 def using_svn():
     return os.path.isdir(os.path.join(get_src_root(), '.svn'))
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index b57798af0c8a3bddfcca178cfd9a1377996772da..6a97446a50bc169edd234d0b12c9167f2eae985d 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -236,13 +236,13 @@ target_link_libraries(
 
 include(LLAddBuildTest)
 SET(llcommon_TEST_SOURCE_FILES
-  # WARNING: Please don't write tests against LLCommon or LLMath until this issue is resolved: https://jira.lindenlab.com/jira/browse/DEV-29456
-  # lllazy.cpp
   )
 LL_ADD_PROJECT_UNIT_TESTS(llcommon "${llcommon_TEST_SOURCE_FILES}")
 
 #set(TEST_DEBUG on)
 set(test_libs llcommon ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES} gmock gtest)
+# Have to treat lllazy test as an integration test until this issue is resolved:
+# https://jira.lindenlab.com/jira/browse/DEV-29456
 LL_ADD_INTEGRATION_TEST(lllazy lllazy.cpp "${test_libs}")
 
 # *TODO - reenable these once tcmalloc libs no longer break the build.
diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h
index a2c1819d8d286a4ff818165e4f9ba945ee24366a..f073bd327b05d3897265458803fc42dada19fe7d 100644
--- a/indra/llcommon/llversionserver.h
+++ b/indra/llcommon/llversionserver.h
@@ -36,7 +36,7 @@
 const S32 LL_VERSION_MAJOR = 1;
 const S32 LL_VERSION_MINOR = 31;
 const S32 LL_VERSION_PATCH = 0;
-const S32 LL_VERSION_BUILD = 0;
+const S32 LL_VERSION_BUILD = 2425;
 
 const char * const LL_CHANNEL = "Second Life Server";
 
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index 45810a101d66b711ba7b4006e7f0342234008133..04cf98ce19c6464a425945fc33d5f9a7544de03c 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -36,7 +36,7 @@
 const S32 LL_VERSION_MAJOR = 2;
 const S32 LL_VERSION_MINOR = 0;
 const S32 LL_VERSION_PATCH = 0;
-const S32 LL_VERSION_BUILD = 0;
+const S32 LL_VERSION_BUILD = 2425;
 
 const char * const LL_CHANNEL = "Second Life 2009";
 
diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt
index d287a5063a36313fccf62dc403cb5ea64d6e4318..2bb380014402ea43dd902b95f51d9b33a24dc77d 100644
--- a/indra/llmath/CMakeLists.txt
+++ b/indra/llmath/CMakeLists.txt
@@ -85,7 +85,8 @@ add_library (llmath ${llmath_SOURCE_FILES})
 
 include(LLAddBuildTest)
 SET(llmath_TEST_SOURCE_FILES
-  # WARNING: Please don't write tests against LLCommon or LLMath until this issue is resolved: https://jira.lindenlab.com/jira/browse/DEV-29456
+  # nat 2009-08-28: found this commented out and considered implementing it
+  # using LL_ADD_INTEGRATION_TEST, but there's no llvolume_test.cpp source?
   # llvolume.cpp
   )
 LL_ADD_PROJECT_UNIT_TESTS(llmath "${llmath_TEST_SOURCE_FILES}")
diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt
index 4eb4a72ae797cd32eea595a828713255e308f076..ec52179a39d910a09f8c8e55a419edbb2396d592 100644
--- a/indra/llmessage/CMakeLists.txt
+++ b/indra/llmessage/CMakeLists.txt
@@ -241,9 +241,5 @@ IF (NOT LINUX AND VIEWER)
       )
 
     LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}")
-    
-    # Commented out - see rationale at bottom of newview's build file + poppy 2009-06-05
-    # Don't make llmessage depend on llsdmessage_test because ADD_COMM_BUILD_TEST depends on llmessage!
-    # ADD_COMM_BUILD_TEST(llsdmessage "" "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py")
 ENDIF (NOT LINUX AND VIEWER)
 
diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp
index a4304596de59a05aed4cebff37404d57a6079edd..a403c44b71f92c9cea4887c796993977bb4b3d6f 100644
--- a/indra/llmessage/llcachename.cpp
+++ b/indra/llmessage/llcachename.cpp
@@ -551,7 +551,7 @@ BOOL LLCacheName::getGroupName(const LLUUID& id, std::string& group)
 // This is a little bit kludgy. LLCacheNameCallback is a slot instead of a function pointer.
 //  The reason it is a slot is so that the legacy get() function below can bind an old callback
 //  and pass it as a slot. The reason it isn't a boost::function is so that trackable behavior
-//  deson't get lost. As a result, we have to bind the slot to a signal to call it, even when
+//  doesn't get lost. As a result, we have to bind the slot to a signal to call it, even when
 //  we call it immediately. -Steve
 // NOTE: Even though passing first and last name is a bit of extra overhead, it eliminates the
 //  potential need for any parsing should any code need to handle first and last name independently.
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 297540ffc0a206fe19a53afba07aa311d0a527c9..b95c5d46ddbe71a6fd35a47493db1d4ce0e15aa3 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1511,11 +1511,6 @@ endif (INSTALL)
 include(LLAddBuildTest)
 SET(viewer_TEST_SOURCE_FILES
   llagentaccess.cpp
-  # Not *actually* a unit test, it's an integration test.
-  # Because it won't work in the new unit test iface, i've commented out
-  # and notified Nat. Delete this when it's replaced!
-  # + poppy & brad 2009-06-05
-  # llcapabilitylistener.cpp
   )
 set_source_files_properties(
   ${viewer_TEST_SOURCE_FILES}
@@ -1583,10 +1578,3 @@ if (WINDOWS)
         )
 endif (WINDOWS)
 
-if (DARWIN)
-# Don't do this here -- it's taken care of by viewer_manifest.py
-#  add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD
-#    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/
-#    DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib
-#  )
-endif (DARWIN)
diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings
index 735424c64787ac02ecb5a4944adee4c8aab6efe2..28853ba032ecf9c6080571f3c3b989acf6aa7753 100644
--- a/indra/newview/English.lproj/InfoPlist.strings
+++ b/indra/newview/English.lproj/InfoPlist.strings
@@ -2,6 +2,6 @@
 
 CFBundleName = "Second Life";
 
-CFBundleShortVersionString = "Second Life version 2.0.0.0";
-CFBundleGetInfoString = "Second Life version 2.0.0.0, Copyright 2004-2009 Linden Research, Inc.";
+CFBundleShortVersionString = "Second Life version 2.0.0.2425";
+CFBundleGetInfoString = "Second Life version 2.0.0.2425, Copyright 2004-2009 Linden Research, Inc.";
 
diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist
index 7264044d37c0a3c3bddc7a599cd99d43150fdd06..c0a33feaeca0c4c7e887c09cc39d1a4f689702f1 100644
--- a/indra/newview/Info-SecondLife.plist
+++ b/indra/newview/Info-SecondLife.plist
@@ -32,7 +32,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>2.0.0.0</string>
+	<string>2.0.0.2425</string>
 	<key>CSResourcesFileMapped</key>
 	<true/>
 </dict>
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 4e2f8366066021e825059c0b6cd7366e77f7f874..2a08f62bb46aabb4e9c3f5a34a886715e59dd803 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -23,6 +23,17 @@
       <key>Value</key>
       <integer>0</integer>
     </map>
+    <key>AgentPause</key>
+    <map>
+      <key>Comment</key>
+      <string>Ask the simulator to stop updating the agent while enabled</string>
+      <key>Persist</key>
+      <integer>0</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>0</integer>
+    </map>
     <key>AlertedUnsupportedHardware</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 2c1707e49f61025847547e334c054324e2c5189c..be832ebe326b8e6c4ae17cc9ce77dfca6e008b7a 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -470,6 +470,19 @@ bool handleVelocityInterpolate(const LLSD& newvalue)
 	return true;
 }
 
+bool toggle_agent_pause(const LLSD& newvalue)
+{
+	if ( newvalue.asBoolean() )
+	{
+		send_agent_pause();
+	}
+	else
+	{
+		send_agent_resume();
+	}
+	return true;
+}
+
 ////////////////////////////////////////////////////////////////////////////
 
 void settings_setup_listeners()
@@ -601,6 +614,7 @@ void settings_setup_listeners()
 	gSavedSettings.getControl("VelocityInterpolate")->getSignal()->connect(boost::bind(&handleVelocityInterpolate, _2));
 	gSavedSettings.getControl("QAMode")->getSignal()->connect(boost::bind(&show_debug_menus));
 	gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus));
+	gSavedSettings.getControl("AgentPause")->getSignal()->connect(boost::bind(&toggle_agent_pause, _2));
 }
 
 #if TEST_CACHED_CONTROL
diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc
index 9a0938b8799b880c476ca2f2cd5dfcf511a8d076..d64fc7c8dab41f7733dad5fbc842b0241b2356e9 100644
--- a/indra/newview/res/viewerRes.rc
+++ b/indra/newview/res/viewerRes.rc
@@ -138,8 +138,8 @@ TOOLMEDIAOPEN           CURSOR                  "toolmediaopen.cur"
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,0,0,0
- PRODUCTVERSION 2,0,0,0
+ FILEVERSION 2,0,0,2425
+ PRODUCTVERSION 2,0,0,2425
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -156,12 +156,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "Linden Lab"
             VALUE "FileDescription", "Second Life"
-            VALUE "FileVersion", "2.0.0.0"
+            VALUE "FileVersion", "2.0.0.2425"
             VALUE "InternalName", "Second Life"
             VALUE "LegalCopyright", "Copyright � 2001-2008, Linden Research, Inc."
             VALUE "OriginalFilename", "SecondLife.exe"
             VALUE "ProductName", "Second Life"
-            VALUE "ProductVersion", "2.0.0.0"
+            VALUE "ProductVersion", "2.0.0.2425"
         END
     END
     BLOCK "VarFileInfo"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 352ec79385fc1c11668286f9408b075ddc422148..ef9e22d9085dbf4b5806139ac4b358afe6d7c3a0 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -2138,6 +2138,17 @@
          layout="topleft"
          name="Network"
          tear_off="true">
+            <menu_item_check
+             label="Pause Agent"
+             layout="topleft"
+             name="AgentPause">
+                <menu_item_check.on_check
+                 function="CheckControl"
+                 parameter="AgentPause" />
+                <menu_item_check.on_click
+                 function="ToggleControl"
+                 parameter="AgentPause" />
+            </menu_item_check>
             <menu_item_call
              label="Enable Message Log"
              layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml
index 01602dc906c29e5f6a1d0a99b90e708da554dc33..d90be9ea25d194a86c4e82454c708c2b0e195c3b 100644
--- a/indra/newview/skins/default/xui/en/panel_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile.xml
@@ -212,7 +212,7 @@
          top_pad="15"
          value="Account Status:"
          width="100" />
-        <link
+       <!-- <link
          type="string"
          follows="left|top"
          font="SansSerifSmall"
@@ -223,7 +223,7 @@
          name="my_account_link"
          top_delta="0"
 	 value="Go to Dashboard"
-         width="100"/>
+         width="100"/> -->
         <text
          follows="left|top|right"
          height="15"
@@ -246,7 +246,7 @@
          top_pad="15"
          value="Partner:"
          width="100" />
-	<link
+	<!--<link
          follows="left|top"
          height="15"
 	 font.style="UNDERLINE"
@@ -255,18 +255,18 @@
          name="partner_edit_link"
          top_delta="0"
          value="Edit"
-         width="100" />
+         width="100" />  -->
         <panel
          follows="left|top|right"
          height="15"
          layout="topleft"
          left="10"
          name="partner_data_panel"
-         top_pad="10"
+         top_pad="5"
          width="255">
             <text
              follows="left|top|right"
-             height="30"
+             height="15"
              layout="topleft"
              left="0"
              name="partner_text"
diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
index d7736832a3594355118fba903bb23adee3426abf..a34b00544819d2fda4d97b48c6375fecc19719ff 100644
--- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<filter_editor select_on_focus="true"
-               background_image_disabled="TextField_Search_Disabled"
-               background_image_focused="TextField_Search_Active">
-  <clear_filter_button label="" 
-                       image_unselected="Icon_Close_Foreground"
-                       image_selected="Icon_Close_Press" />
-</filter_editor>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<filter_editor select_on_focus="true"
+               background_image_disabled="TextField_Search_Disabled"
+               background_image_focused="TextField_Search_Active">
+  <clear_filter_button label="" 
+                       image_unselected="Icon_Close_Foreground"
+                       image_selected="Icon_Close_Press" />
+</filter_editor>
diff --git a/indra/newview/skins/default/xui/en/widgets/list_view.xml b/indra/newview/skins/default/xui/en/widgets/list_view.xml
index c66aeb57a0da8b7464ea83839d60e3967eac8667..2e976bc7556dafcbbbbf62aacaf4724fce393a60 100644
--- a/indra/newview/skins/default/xui/en/widgets/list_view.xml
+++ b/indra/newview/skins/default/xui/en/widgets/list_view.xml
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<list_view
-  fg_selected_color="ListViewSelectedFgColor"
-  bg_selected_color="ListViewSelectedBgColor"
-  bg_color="ListViewBgColor"
-  />
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<list_view
+  fg_selected_color="ListViewSelectedFgColor"
+  bg_selected_color="ListViewSelectedBgColor"
+  bg_color="ListViewBgColor"
+  />
diff --git a/indra/newview/skins/default/xui/en/widgets/split_button.xml b/indra/newview/skins/default/xui/en/widgets/split_button.xml
index b0367b599b66efc85e912949515e0dc27672f291..c0d3c6d7f6f58cc5347a78a3eea3ae982a1c7911 100644
--- a/indra/newview/skins/default/xui/en/widgets/split_button.xml
+++ b/indra/newview/skins/default/xui/en/widgets/split_button.xml
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<split_button 
- font="SansSerifSmall"
- arrow_position="left"
- follows="right|top">
-    <split_button.arrow_button 
-     name="Arrow Button"
-     label=""
-     font="SansSerifSmall"
-     scale_image="true"
-     image_selected="camera_presets/camera_presets_arrow.png"
-     image_unselected="camera_presets/camera_presets_arrow.png"
-     image_disabled_selected="camera_presets/camera_presets_arrow.png" 
-     image_disabled="camera_presets/camera_presets_arrow.png"
-     width="10"/>
-    <split_button.items_panel
-     background_visible="true"
-     border="true"
-     bg_alpha_color="1 1 1 1"
-     bg_opaq_color="1 1 1 1"
-     layout="topleft"
-     name="item_buttons"
-    />
-</split_button>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<split_button 
+ font="SansSerifSmall"
+ arrow_position="left"
+ follows="right|top">
+    <split_button.arrow_button 
+     name="Arrow Button"
+     label=""
+     font="SansSerifSmall"
+     scale_image="true"
+     image_selected="camera_presets/camera_presets_arrow.png"
+     image_unselected="camera_presets/camera_presets_arrow.png"
+     image_disabled_selected="camera_presets/camera_presets_arrow.png" 
+     image_disabled="camera_presets/camera_presets_arrow.png"
+     width="10"/>
+    <split_button.items_panel
+     background_visible="true"
+     border="true"
+     bg_alpha_color="1 1 1 1"
+     bg_opaq_color="1 1 1 1"
+     layout="topleft"
+     name="item_buttons"
+    />
+</split_button>
diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
index 7aad55fb373f33a8768db861f10ec416adecf824..6dfb6ecf9c343a56a904e73ac42228c73d6d3d58 100644
--- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml
+++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
@@ -3,7 +3,7 @@
                tab_max_width="150"
                tab_top_image_unselected="TabTop_Middle_Off"
                tab_top_image_selected="TabTop_Middle_Selected"
-               tab_bottom_image_unselected="tab_bottom_blue.tga"
-               tab_bottom_image_selected="tab_bottom_selected_blue.tga"
+               tab_bottom_image_unselected="Toolbar_Left_Off"
+               tab_bottom_image_selected="Toolbar_Left_Selected"
                tab_left_image_unselected="TabTop_Left_Off"
                tab_left_image_selected="TabTop_Left_Selected"/>
\ No newline at end of file
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index ae3b1ba43e1107d7eb4a708cc22925633e081eed..e85fddbc991f0decf4066219d54bf67f541712ea 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -395,9 +395,16 @@ def package_finish(self):
         self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile))
         # self.remove(self.dst_path_of(tempfile))
         # If we're on a build machine, sign the code using our Authenticode certificate. JC
-        sign_py = 'C:\\buildscripts\\code-signing\\sign.py'
+        sign_py = os.path.expandvars("${SIGN}")
+        if not sign_py or sign_py == "${SIGN}":
+            sign_py = 'C:\\buildscripts\\code-signing\\sign.py'
+        else:
+            sign_py = sign_py.replace('\\', '\\\\\\\\')
+        python = os.path.expandvars("${PYTHON}")
+        if not python or python == "${PYTHON}":
+            python = 'python'
         if os.path.exists(sign_py):
-            self.run_command(sign_py + ' ' + self.dst_path_of(installer_file))
+            self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of(installer_file).replace('\\', '\\\\\\\\')))
         else:
             print "Skipping code signing,", sign_py, "does not exist"
         self.created_path(self.dst_path_of(installer_file))
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index cd90884d0983ca70a1c83ba6fbf668033dfae586..f668867a02ed543c5190a49a686a879d0eddc3e1 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -1,5 +1,5 @@
 /**
- * @file LLMediaPluginTest2.cpp
+ * @file LLMediaPluginTest.cpp
  * @brief Primary test application for LLMedia (Separate Process) Plugin system
  *
  * $LicenseInfo:firstyear=2008&license=viewergpl$
@@ -222,14 +222,13 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind
 	resetView();
 
 	// initial media panel
-	//const int num_initial_panels = 4;
-	//for( int i = 0; i < num_initial_panels; ++i )
-	//{
-	//	addMediaPanel( mBookmarks[ rand() % ( mBookmarks.size() - 1 ) + 1 ].second );
-	//};
 
-	// always add a Web panel for testing
-	addMediaPanel( "http://www.google.com" );
+	const int num_initial_panels = 1;
+	for( int i = 0; i < num_initial_panels; ++i )
+	{
+		//addMediaPanel( mBookmarks[ rand() % ( mBookmarks.size() - 1 ) + 1 ].second );
+		addMediaPanel( mHomeWebUrl );
+	};
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -2113,13 +2112,13 @@ int main( int argc, char* argv[] )
 
 	const int app_window_x = 80;
 	const int app_window_y = 0;
-	const int app_window_width = 964;
-	const int app_window_height = 964;
+	const int app_window_width = 960;
+	const int app_window_height = 960;
 
 	glutInitWindowPosition( app_window_x, app_window_y );
 	glutInitWindowSize( app_window_width, app_window_height );
 
-	int app_window_handle = glutCreateWindow( "LLMediaPluginTest2" );
+	int app_window_handle = glutCreateWindow( "LLMediaPluginTest" );
 
 	glutDisplayFunc( glutDisplay );
 
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.h b/indra/test_apps/llplugintest/llmediaplugintest.h
index 079b40ddc03d12fb3311b4deea4b6113ea2db3cb..2d0ba0e3f67926091d689ac728c19bfb11c4a1c3 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.h
+++ b/indra/test_apps/llplugintest/llmediaplugintest.h
@@ -1,5 +1,5 @@
 /**
- * @file LLMediaPluginTest2.cpp
+ * @file LLMediaPluginTest.cpp
  * @brief Primary test application for LLMedia (Separate Process) Plugin system
  *
  * $LicenseInfo:firstyear=2008&license=viewergpl$