diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 93dc13475b93aa77147ad3a28066a9b21f22cd81..7dcc39950b14aa906c510fd4a1d1d3cb80164633 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -1751,16 +1751,18 @@ void LLMenuGL::setCanTearOff(BOOL tear_off)
 
 bool LLMenuGL::addChild(LLView* view, S32 tab_group)
 {
-	if (LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view))
+	LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view);
+	if (menup)
 	{
-		appendMenu(menup);
-		return true;
+		return appendMenu(menup);
 	}
-	else if (LLMenuItemGL* itemp = dynamic_cast<LLMenuItemGL*>(view))
+	
+	LLMenuItemGL* itemp = dynamic_cast<LLMenuItemGL*>(view);
+	if (itemp)
 	{
-		append(itemp);
-		return true;
+		return append(itemp);
 	}
+	
 	return false;
 }
 
@@ -1771,16 +1773,28 @@ bool LLMenuGL::addContextChild(LLView* view, S32 tab_group)
 {
 	LLContextMenu* context = dynamic_cast<LLContextMenu*>(view);
 	if (context)
+	{
 		return appendContextSubMenu(context);
+	}
 
 	LLMenuItemSeparatorGL* separator = dynamic_cast<LLMenuItemSeparatorGL*>(view);
 	if (separator)
+	{
 		return append(separator);
+	}
 
 	LLMenuItemGL* item = dynamic_cast<LLMenuItemGL*>(view);
 	if (item)
+	{
 		return append(item);
-
+	}
+	
+	LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view);
+	if (menup)
+	{
+		return appendMenu(menup);
+	}
+	
 	return false;
 }
 
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 903dd2a4073abe1df62fe7adc9208ccc69f4435d..16dd0e45653e2763268f52fdde6e39f42a8b03b9 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -202,14 +202,6 @@ void LLConversationViewSession::draw()
 	const LLFolderViewItem::Params& default_params = LLUICtrlFactory::getDefaultParams<LLFolderViewItem>();
 	const BOOL show_context = (getRoot() ? getRoot()->getShowSelectionContext() : FALSE);
 
-	// we don't draw the open folder arrow in minimized mode
-	if (mHasArrow && !mCollapsedMode)
-	{
-		// update the rotation angle of open folder arrow
-		updateLabelRotation();
-		drawOpenFolderArrow(default_params, sFgColor);
-	}
-
 	// Indicate that flash can start (moot operation if already started, done or not flashing)
 	startFlashing();
 
@@ -232,6 +224,14 @@ void LLConversationViewSession::draw()
 		(*iit)->setVisible(draw_children);
 	}
 
+	// we don't draw the open folder arrow in minimized mode
+	if (mHasArrow && !mCollapsedMode)
+	{
+		// update the rotation angle of open folder arrow
+		updateLabelRotation();
+		drawOpenFolderArrow(default_params, sFgColor);
+	}
+
 	LLView::draw();
 }
 
@@ -246,7 +246,7 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
     if(result && getRoot()->getCurSelectedItem() == this)
 	{
 		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
-		im_container->clearAllFlashStates();
+		im_container->flashConversationItemWidget(session_id,false);
 		im_container->selectConversationPair(session_id, false);
 		im_container->collapseMessagesPane(false);
 	}
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 06a79836db12e1afc58499101c9c912a3b6231d4..bc5b8c334dbd25cadd08aa27058b92a5bebf0595 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -88,13 +88,6 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id)
 LLFloaterIMSessionTab::~LLFloaterIMSessionTab()
 {
 	delete mRefreshTimer;
-
-	// Select Nearby Chat session
-	LLFloaterIMContainer* container = LLFloaterReg::findTypedInstance<LLFloaterIMContainer>("im_container");
-	if (container)
-	{
-		container->selectConversationPair(LLUUID(NULL), true);
-	}
 }
 
 //static
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index d690a1847736e97fb4146bccf33a9bc9d6e2bc23..f5db98f8319ff70384b21249803a4848a259db4b 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -169,7 +169,7 @@ public:
 
 		return menu;
 	}
-
+	
 private:
 	static void onCreate(const LLSD& param)
 	{