diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloaterbuyland.cpp | 14 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llviewerparcelmgr.cpp | 5 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 28 | ||||
-rw-r--r-- | indra/newview/skins/minimal/xui/en/main_view.xml | 14 |
5 files changed, 55 insertions, 11 deletions
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp index 83105ef27c..50b19a4221 100644 --- a/indra/newview/llfloaterbuyland.cpp +++ b/indra/newview/llfloaterbuyland.cpp @@ -459,10 +459,18 @@ void LLFloaterBuyLandUI::updateParcelInfo() return; } - if (!authorizedBuyer.isNull() && buyer != authorizedBuyer) + if (!authorizedBuyer.isNull() && buyer != authorizedBuyer) { - mCannotBuyReason = getString("set_to_sell_to_other"); - return; + // Maybe the parcel is set for sale to a group we are in.
+ bool authorized_group =
+ gAgent.hasPowerInGroup(authorizedBuyer,GP_LAND_DEED)
+ && gAgent.hasPowerInGroup(authorizedBuyer,GP_LAND_SET_SALE_INFO);
+
+ if (!authorized_group)
+ {
+ mCannotBuyReason = getString("set_to_sell_to_other");
+ return;
+ } } } else diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index ef5968a5e2..0b8e5cf303 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -344,6 +344,11 @@ void process_layer_data(LLMessageSystem *mesgsys, void **user_data) { LLViewerRegion *regionp = LLWorld::getInstance()->getRegion(mesgsys->getSender()); + if(!regionp) + { + llwarns << "Invalid region for layer data." << llendl; + return; + } S32 size; S8 type; diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index e84e4a859a..c84a14f62c 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -2200,7 +2200,10 @@ bool LLViewerParcelMgr::canAgentBuyParcel(LLParcel* parcel, bool forGroup) const = parcelOwner == (forGroup ? gAgent.getGroupID() : gAgent.getID()); bool isAuthorized - = (authorizeBuyer.isNull() || (gAgent.getID() == authorizeBuyer)); + = (authorizeBuyer.isNull()
+ || (gAgent.getID() == authorizeBuyer)
+ || (gAgent.hasPowerInGroup(authorizeBuyer,GP_LAND_DEED)
+ && gAgent.hasPowerInGroup(authorizeBuyer,GP_LAND_SET_SALE_INFO))); return isForSale && !isOwner && isAuthorized && isEmpowered; } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index c64d492612..06614dd218 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6817,6 +6817,34 @@ Deed to group failed. <notification icon="notifytip.tga" + name="ReleaseLandThrottled" + type="notifytip"> +The parcel [PARCEL_NAME] can not be abandoned at this time. + tag>fail</tag> + </notification> + + <notification + icon="notifytip.tga" + name="ReleasedLandWithReclaim" + type="notifytip"> +The [AREA] m² parcel '[PARCEL_NAME]' has been released. + +You will have [RECLAIM_PERIOD] hours to reclaim for L$0 before it is set for sale to anyone. + <tag>fail</tag> + </notification> + + <notification + icon="notifytip.tga" + name="ReleasedLandNoReclaim" + type="notifytip"> +The [AREA] m² parcel '[PARCEL_NAME]' has been released. + +It is now available for purchase by anyone. + <tag>fail</tag> + </notification> + + <notification + icon="notifytip.tga" name="AvatarRezNotification" type="notifytip"> ( [EXISTENCE] seconds alive ) diff --git a/indra/newview/skins/minimal/xui/en/main_view.xml b/indra/newview/skins/minimal/xui/en/main_view.xml index ac5bae2f3b..6e8ad9adaf 100644 --- a/indra/newview/skins/minimal/xui/en/main_view.xml +++ b/indra/newview/skins/minimal/xui/en/main_view.xml @@ -8,6 +8,13 @@ tab_stop="false" name="main_view" width="1024"> + <panel top="0" + follows="all" + height="768" + mouse_opaque="false" + name="login_panel_holder" + width="1024"/> + <layout_stack border_size="0" follows="all" mouse_opaque="false" @@ -90,13 +97,6 @@ visible="false" width="500"/> - <panel top="0" - follows="all" - height="500" - mouse_opaque="false" - name="login_panel_holder" - width="1024"/> - <panel follows="all" height="500" left="0" |