From 886de22d577ca1e304ece5efddc34f62ead00ce4 Mon Sep 17 00:00:00 2001
From: Dmitry Zaporozhan <dzaporozhan@productengine.com>
Date: Tue, 9 Feb 2010 14:07:09 +0200
Subject: Fixed low bug EXT-5203 - Script chiclets are not toggled when object
 spawns multiple script floaters

--HG--
branch : product-engine
---
 indra/newview/llscriptfloater.cpp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index 465d36b8de..a81ec61263 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -74,9 +74,6 @@ LLScriptFloater::LLScriptFloater(const LLSD& key)
 
 bool LLScriptFloater::toggle(const LLUUID& notification_id)
 {
-	// Force chiclet toggle on here because first onFocusReceived() will not toggle it on.
-	LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true);
-
 	LLScriptFloater* floater = LLFloaterReg::findTypedInstance<LLScriptFloater>("script_floater", notification_id);
 
 	// show existing floater
@@ -91,23 +88,24 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id)
 		{
 			floater->setVisible(TRUE);
 			floater->setFocus(TRUE);
-			return true;
 		}
 	}
 	// create and show new floater
 	else
 	{
 		show(notification_id);
-		return true;
 	}
+
+	LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(notification_id, true);
+	return true;
 }
 
 LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
 {
-	LLScriptFloater* floater = LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id);
-
+	LLScriptFloater* floater = LLFloaterReg::getTypedInstance<LLScriptFloater>("script_floater", notification_id);
 	floater->setNotificationId(notification_id);
 	floater->createForm(notification_id);
+	LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id, TRUE);
 
 	if (floater->getDockControl() == NULL)
 	{
-- 
cgit v1.2.3