summaryrefslogtreecommitdiff
path: root/indra/newview/llfloateropenobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloateropenobject.cpp')
-rw-r--r--indra/newview/llfloateropenobject.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp
index 7e15c373d4..7f29b37913 100644
--- a/indra/newview/llfloateropenobject.cpp
+++ b/indra/newview/llfloateropenobject.cpp
@@ -49,7 +49,6 @@ LLFloaterOpenObject::LLFloaterOpenObject()
LLFloaterOpenObject::~LLFloaterOpenObject()
{
- gSelectMgr->deselectAll();
sInstance = NULL;
}
@@ -57,7 +56,7 @@ void LLFloaterOpenObject::refresh()
{
mPanelInventory->refresh();
- LLSelectNode* node = gSelectMgr->getFirstRootNode();
+ LLSelectNode* node = mObjectSelection->getFirstRootNode();
if (node)
{
std::string name = node->mName;
@@ -84,7 +83,8 @@ void LLFloaterOpenObject::dirty()
// static
void LLFloaterOpenObject::show()
{
- if (gSelectMgr->getRootObjectCount() != 1)
+ LLObjectSelectionHandle object_selection = gSelectMgr->getSelection();
+ if (object_selection->getRootObjectCount() != 1)
{
gViewerWindow->alertXml("UnableToViewContentsMoreThanOne");
return;
@@ -99,19 +99,20 @@ void LLFloaterOpenObject::show()
sInstance->open(); /* Flawfinder: ignore */
sInstance->setFocus(TRUE);
+
+ sInstance->mObjectSelection = gSelectMgr->getEditSelection();
}
-// static
void LLFloaterOpenObject::moveToInventory(bool wear)
{
- if (gSelectMgr->getRootObjectCount() != 1)
+ if (mObjectSelection->getRootObjectCount() != 1)
{
gViewerWindow->alertXml("OnlyCopyContentsOfSingleItem");
return;
}
- LLSelectNode* node = gSelectMgr->getFirstRootNode();
+ LLSelectNode* node = mObjectSelection->getFirstRootNode();
if (!node) return;
LLViewerObject* object = node->getObject();
if (!object) return;
@@ -175,7 +176,7 @@ void LLFloaterOpenObject::callbackMoveInventory(S32 result, void* data)
void LLFloaterOpenObject::onClickMoveToInventory(void* data)
{
LLFloaterOpenObject* self = (LLFloaterOpenObject*)data;
- moveToInventory(false);
+ self->moveToInventory(false);
self->close();
}
@@ -183,7 +184,7 @@ void LLFloaterOpenObject::onClickMoveToInventory(void* data)
void LLFloaterOpenObject::onClickMoveAndWear(void* data)
{
LLFloaterOpenObject* self = (LLFloaterOpenObject*)data;
- moveToInventory(true);
+ self->moveToInventory(true);
self->close();
}