summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llimfloater.cpp7
-rw-r--r--indra/newview/llscriptfloater.cpp12
-rw-r--r--indra/newview/llsyswellwindow.cpp6
3 files changed, 12 insertions, 13 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 34ab541a8e..53cdfcc9b2 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -407,12 +407,7 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
}
}
- if (floater_container)
- {
- //selecting the panel resets a chiclet's counter
- floater_container->selectFloater(floater);
- floater_container->setVisible(TRUE);
- }
+ floater->openFloater(floater->getKey());
}
else
{
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)
{
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index 4d1718be6a..127b4265ca 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -404,7 +404,10 @@ BOOL LLIMWellWindow::RowPanel::handleMouseDown(S32 x, S32 y, MASK mask)
{
// Pass the mouse down event to the chiclet (EXT-596).
if (!mChiclet->pointInView(x, y) && !mCloseBtn->getRect().pointInRect(x, y)) // prevent double call of LLIMChiclet::onMouseDown()
+ {
mChiclet->onMouseDown();
+ return TRUE;
+ }
return LLPanel::handleMouseDown(x, y, mask);
}
@@ -479,7 +482,10 @@ BOOL LLIMWellWindow::ObjectRowPanel::handleMouseDown(S32 x, S32 y, MASK mask)
{
// Pass the mouse down event to the chiclet (EXT-596).
if (!mChiclet->pointInView(x, y) && !mCloseBtn->getRect().pointInRect(x, y)) // prevent double call of LLIMChiclet::onMouseDown()
+ {
mChiclet->onMouseDown();
+ return TRUE;
+ }
return LLPanel::handleMouseDown(x, y, mask);
}