summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterland.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterland.cpp')
-rw-r--r--indra/newview/llfloaterland.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 25d3f971b5..2ff483cd34 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -42,6 +42,7 @@
#include "llnotificationsutil.h"
#include "llparcel.h"
#include "message.h"
+#include "lluserauth.h"
#include "llagent.h"
#include "llbutton.h"
@@ -90,6 +91,7 @@ static std::string MATURITY = "[MATURITY]";
// constants used in callbacks below - syntactic sugar.
static const BOOL BUY_GROUP_LAND = TRUE;
static const BOOL BUY_PERSONAL_LAND = FALSE;
+LLPointer<LLParcelSelection> LLPanelLandGeneral::sSelectionForBuyPass = NULL;
// Statics
LLParcelSelectionObserver* LLFloaterLand::sObserver = NULL;
@@ -803,7 +805,7 @@ void LLPanelLandGeneral::refreshNames()
else
{
// Figure out the owner's name
- owner = LLSLURL("agent", parcel->getOwnerID(), "inspect").getSLURLString();
+ owner = LLSLURL::buildCommand("agent", parcel->getOwnerID(), "inspect");
}
if(LLParcel::OS_LEASE_PENDING == parcel->getOwnershipStatus())
@@ -815,7 +817,7 @@ void LLPanelLandGeneral::refreshNames()
std::string group;
if (!parcel->getGroupID().isNull())
{
- group = LLSLURL("group", parcel->getGroupID(), "inspect").getSLURLString();
+ group = LLSLURL::buildCommand("group", parcel->getGroupID(), "inspect");
}
mTextGroup->setText(group);
@@ -824,9 +826,9 @@ void LLPanelLandGeneral::refreshNames()
const LLUUID& auth_buyer_id = parcel->getAuthorizedBuyerID();
if(auth_buyer_id.notNull())
{
- std::string name;
- name = LLSLURL("agent", auth_buyer_id, "inspect").getSLURLString();
- mSaleInfoForSale2->setTextArg("[BUYER]", name);
+ std::string name;
+ name = LLSLURL::buildCommand("agent", auth_buyer_id, "inspect");
+ mSaleInfoForSale2->setTextArg("[BUYER]", name);
}
else
{
@@ -974,6 +976,8 @@ void LLPanelLandGeneral::onClickBuyPass(void* data)
args["PARCEL_NAME"] = parcel_name;
args["TIME"] = time;
+ // creating pointer on selection to avoid deselection of parcel until we are done with buying pass (EXT-6464)
+ sSelectionForBuyPass = LLViewerParcelMgr::getInstance()->getParcelSelection();
LLNotificationsUtil::add("LandBuyPass", args, LLSD(), cbBuyPass);
}
@@ -1005,6 +1009,8 @@ bool LLPanelLandGeneral::cbBuyPass(const LLSD& notification, const LLSD& respons
// User clicked OK
LLViewerParcelMgr::getInstance()->buyPass();
}
+ // we are done with buying pass, additional selection is no longer needed
+ sSelectionForBuyPass = NULL;
return false;
}