summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpermissions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelpermissions.cpp')
-rw-r--r--indra/newview/llpanelpermissions.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index da7fc16cef..d0061e281e 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -787,14 +787,24 @@ void LLPanelPermissions::onClickOwner(void *data)
void LLPanelPermissions::onClickGroup(void* data)
{
+ LLPanelPermissions* panelp = (LLPanelPermissions*)data;
LLUUID owner_id;
LLString name;
BOOL owners_identical = gSelectMgr->selectGetOwner(owner_id, name);
+ LLFloater* parent_floater = gFloaterView->getParentFloater(panelp);
+
if(owners_identical && (owner_id == gAgent.getID()))
{
- LLFloaterGroups* fg;
- fg = LLFloaterGroups::show(gAgent.getID(), LLFloaterGroups::CHOOSE_ONE);
- fg->setOkCallback( cbGroupID, data );
+ LLFloaterGroupPicker* fg;
+ fg = LLFloaterGroupPicker::showInstance(LLSD(gAgent.getID()));
+ fg->setSelectCallback( cbGroupID, data );
+
+ if (parent_floater)
+ {
+ LLRect new_rect = gFloaterView->findNeighboringPosition(parent_floater, fg);
+ fg->setOrigin(new_rect.mLeft, new_rect.mBottom);
+ parent_floater->addDependentFloater(fg);
+ }
}
}