From 7d771335091bd99a4c45e1f88607ffbdbd402efa Mon Sep 17 00:00:00 2001 From: Ansariel Date: Mon, 6 May 2013 15:13:38 +0200 Subject: [PATCH] FIRE-9663 / FIRE-9928: Proposed fix for various issues with group floaters jumping and loosing focus --- indra/newview/fsfloatergroup.cpp | 9 ++++++--- indra/newview/llpanelgroup.cpp | 4 ---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/indra/newview/fsfloatergroup.cpp b/indra/newview/fsfloatergroup.cpp index 562d0777e7..3829c3a594 100644 --- a/indra/newview/fsfloatergroup.cpp +++ b/indra/newview/fsfloatergroup.cpp @@ -112,13 +112,16 @@ FSFloaterGroup* FSFloaterGroup::openGroupFloater(const LLSD& params) } FSFloaterGroup* floater = LLFloaterReg::getTypedInstance("fs_group", LLSD().with("group_id", params.get("group_id").asUUID())); - if (floater) + if (floater->getVisible()) + { + floater->onOpen(params); + } + else { floater->openFloater(params); - return floater; } - return NULL; + return floater; } // static diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 445f507aea..8c14b7f9d0 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -663,10 +663,6 @@ void LLPanelGroup::showNotice(const std::string& subject, { FSFloaterGroup* floater = FSFloaterGroup::findInstance(group_id); if (!floater) - { - floater = FSFloaterGroup::openGroupFloater(group_id); - } - if (!floater) { return; }