diff options
Diffstat (limited to 'linden/indra/newview/llpanelpermissions.cpp')
-rw-r--r-- | linden/indra/newview/llpanelpermissions.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/linden/indra/newview/llpanelpermissions.cpp b/linden/indra/newview/llpanelpermissions.cpp index 6e8a4ff..0cfef5c 100644 --- a/linden/indra/newview/llpanelpermissions.cpp +++ b/linden/indra/newview/llpanelpermissions.cpp | |||
@@ -807,14 +807,24 @@ void LLPanelPermissions::onClickOwner(void *data) | |||
807 | 807 | ||
808 | void LLPanelPermissions::onClickGroup(void* data) | 808 | void LLPanelPermissions::onClickGroup(void* data) |
809 | { | 809 | { |
810 | LLPanelPermissions* panelp = (LLPanelPermissions*)data; | ||
810 | LLUUID owner_id; | 811 | LLUUID owner_id; |
811 | LLString name; | 812 | LLString name; |
812 | BOOL owners_identical = gSelectMgr->selectGetOwner(owner_id, name); | 813 | BOOL owners_identical = gSelectMgr->selectGetOwner(owner_id, name); |
814 | LLFloater* parent_floater = gFloaterView->getParentFloater(panelp); | ||
815 | |||
813 | if(owners_identical && (owner_id == gAgent.getID())) | 816 | if(owners_identical && (owner_id == gAgent.getID())) |
814 | { | 817 | { |
815 | LLFloaterGroups* fg; | 818 | LLFloaterGroupPicker* fg; |
816 | fg = LLFloaterGroups::show(gAgent.getID(), LLFloaterGroups::CHOOSE_ONE); | 819 | fg = LLFloaterGroupPicker::showInstance(LLSD(gAgent.getID())); |
817 | fg->setOkCallback( cbGroupID, data ); | 820 | fg->setSelectCallback( cbGroupID, data ); |
821 | |||
822 | if (parent_floater) | ||
823 | { | ||
824 | LLRect new_rect = gFloaterView->findNeighboringPosition(parent_floater, fg); | ||
825 | fg->setOrigin(new_rect.mLeft, new_rect.mBottom); | ||
826 | parent_floater->addDependentFloater(fg); | ||
827 | } | ||
818 | } | 828 | } |
819 | } | 829 | } |
820 | 830 | ||