diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp
index 803978bfa285c88617c4702303de058d0c50a6bb..f29e8785eb0dee36189fa18d818932c17283b126 100644
--- a/indra/llui/llcombobox.cpp
+++ b/indra/llui/llcombobox.cpp
@@ -102,7 +102,6 @@ LLComboBox::LLComboBox(const LLComboBox::Params& p)
 	mMaxChars(p.max_chars),
 	mPrearrangeCallback(p.prearrange_callback()),
 	mTextEntryCallback(p.text_entry_callback()),
-	mSelectionCallback(p.selection_callback()),
 	mListPosition(p.list_position),
 	mLastSelectedIndex(-1)
 {
@@ -721,12 +720,6 @@ void LLComboBox::onItemSelected(const LLSD& data)
 
 	// commit does the reverse, asserting the value in the list
 	onCommit();
-
-	// call the callback if it exists
-	if(mSelectionCallback)
-	{
-		mSelectionCallback(this, data);
-	}
 }
 
 BOOL LLComboBox::handleToolTip(S32 x, S32 y, MASK mask)
diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h
index 11acdb9b8fcf1b765c2ab69889f5201287e4a42d..4f2758846716e8885fb9e1a31cb54b2c3a7f540f 100644
--- a/indra/llui/llcombobox.h
+++ b/indra/llui/llcombobox.h
@@ -82,8 +82,7 @@ class LLComboBox
 											allow_new_values;
 		Optional<S32>						max_chars;
 		Optional<commit_callback_t> 		prearrange_callback,
-											text_entry_callback,
-											selection_callback;
+											text_entry_callback;
 
 		Optional<EPreferredPosition, PreferredPositionValues>	list_position;
 		
@@ -200,7 +199,6 @@ class LLComboBox
 
 	void			setPrearrangeCallback( commit_callback_t cb ) { mPrearrangeCallback = cb; }
 	void			setTextEntryCallback( commit_callback_t cb ) { mTextEntryCallback = cb; }
-	void			setSelectionCallback( commit_callback_t cb ) { mSelectionCallback = cb; }
 
 	void			setButtonVisible(BOOL visible);
 
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 7a540a45c4c7079472fa049c0638887046185b44..fb2ecb3bede1e0b859191c266d9d7f4efe466ca6 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -6326,7 +6326,7 @@ void LLAgent::sendAgentSetAppearance()
 			msg->addU8Fast(_PREHASH_TextureIndex, (U8)texture_index);
 		}
 		msg->nextBlockFast(_PREHASH_ObjectData);
-		mAvatarObject->packTEMessage( gMessageSystem );
+		mAvatarObject->sendAppearanceMessage( gMessageSystem );
 	}
 	else
 	{
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index 3613ac803efc5cf1b154dca4a55f78ec2c9d91f7..a1c6704657d9f8cc813615475168fe5bc20f4fb2 100644
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -431,9 +431,9 @@ BOOL LLFloaterUIPreview::postBuild()
 
 	// get pointers to buttons and link to callbacks
 	mLanguageSelection = main_panel_tmp->getChild<LLComboBox>("language_select_combo");
-	mLanguageSelection->setSelectionCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection));
+	mLanguageSelection->setCommitCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection));
 	mLanguageSelection_2 = main_panel_tmp->getChild<LLComboBox>("language_select_combo_2");
-	mLanguageSelection_2->setSelectionCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection));
+	mLanguageSelection_2->setCommitCallback(boost::bind(&LLFloaterUIPreview::onLanguageComboSelect, this, mLanguageSelection));
 	LLPanel* editor_panel_tmp = main_panel_tmp->getChild<LLPanel>("editor_panel");
 	mDisplayFloaterBtn = main_panel_tmp->getChild<LLButton>("display_floater");
 	mDisplayFloaterBtn->setClickedCallback(boost::bind(&LLFloaterUIPreview::onClickDisplayFloater, this, PRIMARY_FLOATER));
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 794d73a5adeae0fb5c35c65cedca01b258620664..0c2782fd8a08293726665901087230e2d349affc 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -217,7 +217,7 @@ BOOL LLNavigationBar::postBuild()
 
 	mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this));
 
-	mCmbLocation->setSelectionCallback(boost::bind(&LLNavigationBar::onLocationSelection, this));
+	mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this));
 	
 	mSearchComboBox->setCommitCallback(boost::bind(&LLNavigationBar::onSearchCommit, this));
 
diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp
index 84232f20d1a53c8b744e9ff781a29511f0be74e4..257a21ca1510e47217c5ee52fdbbe0aea0992010 100644
--- a/indra/newview/llpanelplaces.cpp
+++ b/indra/newview/llpanelplaces.cpp
@@ -222,7 +222,7 @@ BOOL LLPanelPlaces::postBuild()
 	notes_editor->setKeystrokeCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
 
 	LLComboBox* folder_combo = mLandmarkInfo->getChild<LLComboBox>("folder_combo");
-	folder_combo->setSelectionCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
+	folder_combo->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
 
 	return TRUE;
 }
diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp
index f95671685b3b9173a04af80cc970dac412795d08..93a70b6471a040ab1fab79069e17a069c65f05a5 100644
--- a/indra/newview/llsearchcombobox.cpp
+++ b/indra/newview/llsearchcombobox.cpp
@@ -82,7 +82,7 @@ LLSearchComboBox::LLSearchComboBox(const Params&p)
 	setButtonVisible(p.dropdown_button_visible);
 	mTextEntry->setCommitCallback(boost::bind(&LLComboBox::onTextCommit, this, _2));
 	mTextEntry->setKeystrokeCallback(boost::bind(&LLComboBox::onTextEntry, this, _1), NULL);
-	setSelectionCallback(boost::bind(&LLSearchComboBox::onSelectionCommit, this));
+	setCommitCallback(boost::bind(&LLSearchComboBox::onSelectionCommit, this));
 	setPrearrangeCallback(boost::bind(&LLSearchComboBox::onSearchPrearrange, this, _2));
 	mSearchButton->setCommitCallback(boost::bind(&LLSearchComboBox::onTextCommit, this, _2));
 }
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
index c33c652935afcc2899b2a96abc49a76706cdf606..845e71378a790b5040e9310ea7b420a06188d9ac 100644
--- a/indra/newview/lltexturecache.cpp
+++ b/indra/newview/lltexturecache.cpp
@@ -917,7 +917,7 @@ BOOL LLTextureCache::isInLocal(const LLUUID& id)
 
 //static
 const S32 MAX_REASONABLE_FILE_SIZE = 512*1024*1024; // 512 MB
-F32 LLTextureCache::sHeaderCacheVersion = 1.3f;
+F32 LLTextureCache::sHeaderCacheVersion = 1.4f;
 U32 LLTextureCache::sCacheMaxEntries = MAX_REASONABLE_FILE_SIZE / TEXTURE_CACHE_ENTRY_SIZE;
 S64 LLTextureCache::sCacheMaxTexturesSize = 0; // no limit
 const char* entries_filename = "texture.entries";
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 68a9aaef7577aebb31e7a7f2e67bf867dee5e3e8..6a6aa1061dc6adad47b78785bde490d34cb7588c 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -5189,7 +5189,7 @@ void show_debug_menus()
 		gMenuBarView->setItemEnabled("Develop", qamode);
 
 		// Server ('Admin') menu hidden when not in godmode.
-		const bool show_server_menu = debug && (gAgent.getGodLevel() > GOD_NOT || gAgent.getAdminOverride());
+		const bool show_server_menu = (gAgent.getGodLevel() > GOD_NOT || (debug && gAgent.getAdminOverride()));
 		gMenuBarView->setItemVisible("Admin", show_server_menu);
 		gMenuBarView->setItemEnabled("Admin", show_server_menu);
 	}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 615eb1db9a7ef6b0141830591dd9c2ff012c2e00..c21c287fb6d6cd27010c5d1e63668f3ab28e9f24 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -3942,7 +3942,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
 		return FALSE ;
 	}
 
-	BOOL high_res = scale_factor > 1.f;
+	BOOL high_res = scale_factor >= 2.f; // Font scaling is slow, only do so if rez is much higher
 	if (high_res)
 	{
 		send_agent_pause();
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index b6c1ee2f117479678ca30d7219ac6552230f9a87..75e35e5221459d2534707b105d92e4315bba5c21 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -6267,7 +6267,7 @@ LLColor4 LLVOAvatar::getDummyColor()
 	return DUMMY_COLOR;
 }
 
-void LLVOAvatar::dumpAvatarTEs( const std::string& context )
+void LLVOAvatar::dumpAvatarTEs( const std::string& context ) const
 {	
 	/* const char* te_name[] = {
 			"TEX_HEAD_BODYPAINT   ",
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 2fd1a506a9024a135e635688428f6a1ec99d053b..4b3e850e7ac0703082d33e77e8d9ff4a0f4db06e 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -889,7 +889,7 @@ class LLVOAvatar :
 	static void			dumpArchetypeXML(void*);
 	static void			dumpBakedStatus();
 	const std::string 	getBakedStatusForPrintout() const;
-	void				dumpAvatarTEs(const std::string& context);
+	void				dumpAvatarTEs(const std::string& context) const;
 
 	static F32 			sUnbakedTime; // Total seconds with >=1 unbaked avatars
 	static F32 			sUnbakedUpdateTime; // Last time stats were updated (to prevent multiple updates per frame) 
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 711e9f90fcc42db38a3db3bc54e9ea2f564ba306..d9c5e932a2648f197862c5a0fd0f9e0a84fb83dd 100644
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -2074,6 +2074,49 @@ void LLVOAvatarSelf::setInvisible(BOOL newvalue)
 	}
 }
 
+// HACK: this will null out the avatar's local texture IDs before the TE message is sent
+//       to ensure local texture IDs are not sent to other clients in the area.
+//       this is a short-term solution. The long term solution will be to not set the texture
+//       IDs in the avatar object, and keep them only in the wearable.
+//       This will involve further refactoring that is too risky for the initial release of 2.0.
+bool LLVOAvatarSelf::sendAppearanceMessage(LLMessageSystem *mesgsys) const
+{
+	LLUUID texture_id[TEX_NUM_INDICES];
+	// pack away current TEs to make sure we don't send them out
+	for (LLVOAvatarDictionary::Textures::const_iterator iter = LLVOAvatarDictionary::getInstance()->getTextures().begin();
+		 iter != LLVOAvatarDictionary::getInstance()->getTextures().end();
+		 ++iter)
+	{
+		const ETextureIndex index = iter->first;
+		const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second;
+		if (!texture_dict->mIsBakedTexture)
+		{
+			LLTextureEntry* entry = getTE((U8) index);
+			texture_id[index] = entry->getID();
+			entry->setID(IMG_DEFAULT_AVATAR);
+		}
+	}
+
+	bool success = packTEMessage(mesgsys);
+
+	// unpack TEs to make sure we don't re-trigger a bake
+	for (LLVOAvatarDictionary::Textures::const_iterator iter = LLVOAvatarDictionary::getInstance()->getTextures().begin();
+		 iter != LLVOAvatarDictionary::getInstance()->getTextures().end();
+		 ++iter)
+	{
+		const ETextureIndex index = iter->first;
+		const LLVOAvatarDictionary::TextureEntry *texture_dict = iter->second;
+		if (!texture_dict->mIsBakedTexture)
+		{
+			LLTextureEntry* entry = getTE((U8) index);
+			entry->setID(texture_id[index]);
+		}
+	}
+
+	return success;
+}
+
+
 //------------------------------------------------------------------------
 // needsRenderBeam()
 //------------------------------------------------------------------------
diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h
index 6702f030feb3ceceaafd43bd6c800d567debe727..a1cad82effaac3a627a4a0f7468d28978aa96d18 100644
--- a/indra/newview/llvoavatarself.h
+++ b/indra/newview/llvoavatarself.h
@@ -310,6 +310,7 @@ class LLVOAvatarSelf :
 public:
 	static void		onChangeSelfInvisible(BOOL newvalue);
 	void			setInvisible(BOOL newvalue);
+	bool			sendAppearanceMessage(LLMessageSystem *mesgsys) const;
 
 /**                    Appearance
  **                                                                            **
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index 21054dacd0b7a76a0828b55a9a2360e30f40ab9e..8f63df8c293866a364327de11e5ffeaa39bcad0e 100644
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -754,6 +754,8 @@ LLVoiceChannelP2P::LLVoiceChannelP2P(const LLUUID& session_id, const std::string
 
 void LLVoiceChannelP2P::handleStatusChange(EStatusType type)
 {
+	llinfos << "P2P CALL CHANNEL STATUS CHANGE: incoming=" << int(mReceivedCall) << " newstatus=" << LLVoiceClientStatusObserver::status2string(type) << " (mState=" << mState << ")" << llendl;
+
 	// status updates
 	switch(type)
 	{
@@ -880,6 +882,8 @@ void LLVoiceChannelP2P::setState(EState state)
 	// *HACK: Open/close the call window if needed.
 	toggleCallWindowIfNeeded(state);
 	
+	llinfos << "P2P CALL STATE CHANGE: incoming=" << int(mReceivedCall) << " oldstate=" << mState << " newstate=" << state << llendl;
+
 	if (mReceivedCall) // incoming call
 	{
 		// you only "answer" voice invites in p2p mode
@@ -896,7 +900,8 @@ void LLVoiceChannelP2P::setState(EState state)
 		mCallDialogPayload["session_id"] = mSessionID;
 		mCallDialogPayload["session_name"] = mSessionName;
 		mCallDialogPayload["other_user_id"] = mOtherUserID;
-		if (state == STATE_RINGING)
+		if (state == STATE_RINGING ||
+		    state == STATE_CALL_STARTED)
 		{
 			// *HACK: open outgoing call floater if needed, might be better done elsewhere.
 			// *TODO: should move this squirrelly ui-fudging crap into LLOutgoingCallDialog itself
@@ -908,6 +913,7 @@ void LLVoiceChannelP2P::setState(EState state)
 					ocd->getChild<LLTextBox>("calling")->setVisible(true);
 					ocd->getChild<LLTextBox>("leaving")->setVisible(true);
 					ocd->getChild<LLTextBox>("connecting")->setVisible(false);
+					ocd->getChild<LLTextBox>("noanswer")->setVisible(false);
 				}
 			}
 		}
@@ -919,16 +925,29 @@ void LLVoiceChannelP2P::setState(EState state)
 					ocd->getChild<LLTextBox>("calling")->setVisible(false);
 					ocd->getChild<LLTextBox>("leaving")->setVisible(false);
 					ocd->getChild<LLTextBox>("connecting")->setVisible(true);
+					ocd->getChild<LLTextBox>("noanswer")->setVisible(false);
 				}			
 				}*/
+		else if (state == STATE_ERROR)
+		{
+			LLOutgoingCallDialog *ocd = dynamic_cast<LLOutgoingCallDialog*>(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE));
+			if (ocd)
+			{
+				ocd->getChild<LLTextBox>("calling")->setVisible(false);
+				ocd->getChild<LLTextBox>("leaving")->setVisible(false);
+				ocd->getChild<LLTextBox>("connecting")->setVisible(false);
+				ocd->getChild<LLTextBox>("noanswer")->setVisible(true);
+			}			
+		}
 		else if (state == STATE_HUNG_UP ||
 			 state == STATE_CONNECTED)
 		{
-				LLOutgoingCallDialog *ocd = dynamic_cast<LLOutgoingCallDialog*>(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE));
-				if (ocd)
-				{
-					ocd->closeFloater();
-				}			
+			// hide popup
+			LLOutgoingCallDialog *ocd = dynamic_cast<LLOutgoingCallDialog*>(LLFloaterReg::showInstance("outgoing_call", mCallDialogPayload, TRUE));
+			if (ocd)
+			{
+				ocd->closeFloater();
+			}			
 		}
 	}
 
diff --git a/indra/newview/skins/default/xui/en/floater_outgoing_call.xml b/indra/newview/skins/default/xui/en/floater_outgoing_call.xml
index 82417de8a7dcfdb1dd490ad0abc428fa2fb79218..ae4d5042efc07178bb5759b1fbc690462680c588 100644
--- a/indra/newview/skins/default/xui/en/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/en/floater_outgoing_call.xml
@@ -57,6 +57,17 @@ Connecting to [CALLEE_NAME]
      width="315"
      word_wrap="true">
 Calling [CALLEE_NAME]
+    </text>
+    <text
+     font="SansSerifLarge"
+     height="20"
+     layout="topleft"
+     left="77"
+     name="noanswer"
+     top="27"
+     width="315"
+     word_wrap="true">
+No Answer.  Please try again later.
     </text>
     <text
      font="SansSerif"
diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml
index 68a4867167ff1d7bea764ad41d99addf5ecc8938..f9dacf02077a9f390aa900e5394abc57831c1de8 100644
--- a/indra/newview/skins/default/xui/en/floater_stats.xml
+++ b/indra/newview/skins/default/xui/en/floater_stats.xml
@@ -405,179 +405,179 @@
 				 show_bar="false"
 				 show_mean="false" >
 			  </stat_bar>
+		  </stat_view>
 
-			  <stat_bar
-				 name="simagentups"
-				 label="Agent Updates/Sec"
-				 stat="simagentups"
-				 precision="1"
-				 bar_min="0.f"
-				 bar_max="100.f" 
-				 tick_spacing="25.f"
-				 label_spacing="50.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simagentups"
+			   label="Agent Updates/Sec"
+			   stat="simagentups"
+			   precision="1"
+			   bar_min="0.f"
+			   bar_max="100.f" 
+			   tick_spacing="25.f"
+			   label_spacing="50.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simmainagents"
-				 label="Main Agents"
-				 stat="simmainagents"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="80.f" 
-				 tick_spacing="10.f"
-				 label_spacing="40.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simmainagents"
+			   label="Main Agents"
+			   stat="simmainagents"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="80.f" 
+			   tick_spacing="10.f"
+			   label_spacing="40.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simchildagents"
-				 label="Child Agents"
-				 stat="simchildagents"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="40.f" 
-				 tick_spacing="5.f"
-				 label_spacing="10.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simchildagents"
+			   label="Child Agents"
+			   stat="simchildagents"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="40.f" 
+			   tick_spacing="5.f"
+			   label_spacing="10.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simobjects"
-				 label="Objects"
-				 stat="simobjects"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="30000.f" 
-				 tick_spacing="5000.f"
-				 label_spacing="10000.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simobjects"
+			   label="Objects"
+			   stat="simobjects"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="30000.f" 
+			   tick_spacing="5000.f"
+			   label_spacing="10000.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simactiveobjects"
-				 label="Active Objects"
-				 stat="simactiveobjects"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="800.f" 
-				 tick_spacing="100.f"
-				 label_spacing="200.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simactiveobjects"
+			   label="Active Objects"
+			   stat="simactiveobjects"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="800.f" 
+			   tick_spacing="100.f"
+			   label_spacing="200.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simactivescripts"
-				 label="Active Scripts"
-				 stat="simactivescripts"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="800.f" 
-				 tick_spacing="100.f"
-				 label_spacing="200.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simactivescripts"
+			   label="Active Scripts"
+			   stat="simactivescripts"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="800.f" 
+			   tick_spacing="100.f"
+			   label_spacing="200.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simscripteps"
-				 label="Script Events"
-				 stat="simscripteps"
-				 unit_label="eps"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="20000.f" 
-				 tick_spacing="2500.f"
-				 label_spacing="5000.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simscripteps"
+			   label="Script Events"
+			   stat="simscripteps"
+			   unit_label="eps"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="20000.f" 
+			   tick_spacing="2500.f"
+			   label_spacing="5000.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="siminpps"
-				 label="Packets In"
-				 stat="siminpps"
-				 unit_label="pps"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="2000.f" 
-				 tick_spacing="250.f"
-				 label_spacing="1000.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="siminpps"
+			   label="Packets In"
+			   stat="siminpps"
+			   unit_label="pps"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="2000.f" 
+			   tick_spacing="250.f"
+			   label_spacing="1000.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simoutpps"
-				 label="Packets Out"
-				 stat="simoutpps"
-				 unit_label="pps" 
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="2000.f" 
-				 tick_spacing="250.f"
-				 label_spacing="1000.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simoutpps"
+			   label="Packets Out"
+			   stat="simoutpps"
+			   unit_label="pps" 
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="2000.f" 
+			   tick_spacing="250.f"
+			   label_spacing="1000.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simpendingdownloads"
-				 label="Pending Downloads"
-				 stat="simpendingdownloads"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="800.f" 
-				 tick_spacing="100.f"
-				 label_spacing="200.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simpendingdownloads"
+			   label="Pending Downloads"
+			   stat="simpendingdownloads"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="800.f" 
+			   tick_spacing="100.f"
+			   label_spacing="200.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simpendinguploads"
-				 label="Pending Uploads"
-				 stat="simpendinguploads"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="100.f" 
-				 tick_spacing="25.f"
-				 label_spacing="50.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
+			<stat_bar
+			   name="simpendinguploads"
+			   label="Pending Uploads"
+			   stat="simpendinguploads"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="100.f" 
+			   tick_spacing="25.f"
+			   label_spacing="50.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
-			  <stat_bar
-				 name="simtotalunackedbytes"
-				 label="Total Unacked Bytes"
-				 stat="simtotalunackedbytes"
-				 unit_label="kb"
-				 precision="0"
-				 bar_min="0.f"
-				 bar_max="100000.f" 
-				 tick_spacing="25000.f"
-				 label_spacing="50000.f" 
-				 show_per_sec="false"
-				 show_bar="false"
-				 show_mean="false" >
-			  </stat_bar>
-			</stat_view>
+			<stat_bar
+			   name="simtotalunackedbytes"
+			   label="Total Unacked Bytes"
+			   stat="simtotalunackedbytes"
+			   unit_label="kb"
+			   precision="0"
+			   bar_min="0.f"
+			   bar_max="100000.f" 
+			   tick_spacing="25000.f"
+			   label_spacing="50000.f" 
+			   show_per_sec="false"
+			   show_bar="false"
+			   show_mean="false" >
+			</stat_bar>
 
 			<stat_view
 			   name="simperf"
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 387ffbd5b30258e812e43a3537ab0cfc3998fd6e..c60cc163c88fc0c9ad3f98f5da62614a9d9a2258 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -340,6 +340,8 @@
          label="Landmarks"
          name="item1"
          value="None" />
+		<combo_box.commit_callback
+		function="WMap.Landmark"/>
     </combo_box>
     <icon
      color="0.5 0 0 1"
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 64cfdf27042e41538d0376c4ca8c8785abbc4066..4193343d64f56fb499472a66db3bc735d9153171 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -243,7 +243,7 @@ def construct(self):
             
             # Get kdu dll, continue if missing.
             try:
-                self.path('%s/llkdu.dll' % self.args['configuration'], dst='llkdu.dll')
+                self.path('llkdu.dll', dst='llkdu.dll')
             except RuntimeError:
                 print "Skipping llkdu.dll"