diff options
19 files changed, 117 insertions, 26 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 1fdfdb51a8..2f396d20a0 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8149,6 +8149,17 @@ <key>Value</key> <integer>256</integer> </map> + <key>RegionCheckTextureHeights</key> + <map> + <key>Comment</key> + <string>Don't allow user to set low heights greater than high</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> <key>RememberPassword</key> <map> <key>Comment</key> diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 3d9b1a72a8..cec019d46d 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -2055,7 +2055,7 @@ void LLAppearanceMgr::updateCOF(const LLUUID& category, bool append) } const LLUUID& base_id = append ? getBaseOutfitUUID() : category; LLViewerInventoryCategory *base_cat = gInventory.getCategory(base_id); - if (base_cat) + if (base_cat && (base_cat->getPreferredType() == LLFolderType::FT_OUTFIT)) { LLSD base_contents; base_contents["name"] = base_cat->getName(); diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2898d8ca31..e1d5153c16 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -5374,13 +5374,21 @@ void LLAppViewer::idleExperienceCache() { LLViewerRegion* region = gAgent.getRegion(); if (!region) return; - - std::string lookup_url=region->getCapability("GetExperienceInfo"); - if(!lookup_url.empty() && *lookup_url.rbegin() != '/') - { - lookup_url += '/'; - } - + + std::string lookup_url; + if (region->capabilitiesReceived()) + { + lookup_url = region->getCapability("GetExperienceInfo"); + if (!lookup_url.empty() && *lookup_url.rbegin() != '/') + { + lookup_url += '/'; + } + } + else + { + LL_WARNS_ONCE() << "GetExperienceInfo capability is not yet recieved" << LL_ENDL; + } + LLExperienceCache::setLookupURL(lookup_url); LLExperienceCache::idle(); diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 16566bea73..df5b226d98 100755 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -1184,6 +1184,22 @@ BOOL LLPanelRegionTerrainInfo::validateTextureSizes() return TRUE; } +BOOL LLPanelRegionTerrainInfo::validateTextureHeights() +{ + for (S32 i = 0; i < CORNER_COUNT; ++i) + { + std::string low = llformat("height_start_spin_%d", i); + std::string high = llformat("height_range_spin_%d", i); + + if (getChild<LLUICtrl>(low)->getValue().asReal() > getChild<LLUICtrl>(high)->getValue().asReal()) + { + return FALSE; + } + } + + return TRUE; +} + ///////////////////////////////////////////////////////////////////////////// // LLPanelRegionTerrainInfo ///////////////////////////////////////////////////////////////////////////// @@ -1216,6 +1232,9 @@ BOOL LLPanelRegionTerrainInfo::postBuild() childSetAction("upload_raw_btn", onClickUploadRaw, this); childSetAction("bake_terrain_btn", onClickBakeTerrain, this); + mAskedTextureHeights = false; + mConfirmedTextureHeights = false; + return LLPanelRegionInfo::postBuild(); } @@ -1298,6 +1317,21 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() return FALSE; } + // Check if terrain Elevation Ranges are correct + if (gSavedSettings.getBOOL("RegionCheckTextureHeights") && !validateTextureHeights()) + { + if (!mAskedTextureHeights) + { + LLNotificationsUtil::add("ConfirmTextureHeights", LLSD(), LLSD(), boost::bind(&LLPanelRegionTerrainInfo::callbackTextureHeights, this, _1, _2)); + mAskedTextureHeights = true; + return FALSE; + } + else if (!mConfirmedTextureHeights) + { + return FALSE; + } + } + LLTextureCtrl* texture_ctrl; std::string id_str; LLMessageSystem* msg = gMessageSystem; @@ -1338,6 +1372,29 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate() return TRUE; } +bool LLPanelRegionTerrainInfo::callbackTextureHeights(const LLSD& notification, const LLSD& response) +{ + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + if (option == 0) // ok + { + mConfirmedTextureHeights = true; + } + else if (option == 1) // cancel + { + mConfirmedTextureHeights = false; + } + else if (option == 2) // don't ask + { + gSavedSettings.setBOOL("RegionCheckTextureHeights", FALSE); + mConfirmedTextureHeights = true; + } + + onBtnSet(); + + mAskedTextureHeights = false; + return false; +} + // static void LLPanelRegionTerrainInfo::onClickDownloadRaw(void* data) { diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h index e7b49d8553..4cd50c0882 100755 --- a/indra/newview/llfloaterregioninfo.h +++ b/indra/newview/llfloaterregioninfo.h @@ -237,6 +237,7 @@ public: void setEnvControls(bool available); // Whether environment settings are available for this region BOOL validateTextureSizes(); + BOOL validateTextureHeights(); //static void onChangeAnything(LLUICtrl* ctrl, void* userData); // callback for any change, to enable commit button @@ -246,6 +247,11 @@ public: static void onClickUploadRaw(void*); static void onClickBakeTerrain(void*); bool callbackBakeTerrain(const LLSD& notification, const LLSD& response); + bool callbackTextureHeights(const LLSD& notification, const LLSD& response); + +private: + bool mConfirmedTextureHeights; + bool mAskedTextureHeights; }; ///////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index 63ede7f8ac..7020ac0c65 100755 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -380,10 +380,6 @@ void LLToast::setVisible(BOOL show) { mTimer->start(); } - if (!getVisible()) - { - LLModalDialog::setFrontmost(FALSE); - } } else { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index f3d0369da6..e5abbf7683 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -7442,7 +7442,7 @@ void callback_load_url_name(const LLUUID& id, const std::string& full_name, bool args["URL"] = load_url_info["url"].asString(); args["MESSAGE"] = load_url_info["message"].asString();; args["OBJECTNAME"] = load_url_info["object_name"].asString(); - args["NAME"] = owner_name; + args["NAME_SLURL"] = LLSLURL(is_group ? "group" : "agent", id, "about").getSLURLString(); LLNotificationsUtil::add("LoadWebPage", args, load_url_info); } diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml index aad3b9d062..3e0f0133dd 100755 --- a/indra/newview/skins/default/xui/da/notifications.xml +++ b/indra/newview/skins/default/xui/da/notifications.xml @@ -1432,7 +1432,7 @@ Hvis du ikke forlader regionen, vil du blive logget af. [MESSAGE] -Fra objekt: <nolink>[OBJECTNAME]</nolink>, ejer: [NAME]? +Fra objekt: <nolink>[OBJECTNAME]</nolink>, ejer: [NAME_SLURL]? <form name="form"> <button name="Gotopage" text="Gå til side"/> <button name="Cancel" text="Afbryd"/> diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index fa7db0a8a3..670d081faf 100755 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -2956,7 +2956,7 @@ Wenn Sie in dieser Region bleiben, werden Sie abgemeldet. [MESSAGE] -Von Objekt: <nolink>[OBJECTNAME]</nolink>, Eigentümer: [NAME] +Von Objekt: <nolink>[OBJECTNAME]</nolink>, Eigentümer: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Zur Seite"/> <button name="Cancel" text="Abbrechen"/> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 7a70fb1a2a..74e1eb527c 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3580,6 +3580,19 @@ Do you really want to bake the current terrain, make it the center for terrain r <notification icon="alertmodal.tga" + name="ConfirmTextureHeights" + type="alertmodal"> +You're about to use low values greater than high ones for Elevation Ranges. Proceed? + <tag>confirm</tag> + <usetemplate + name="yesnocancelbuttons" + yestext="Ok" + notext="Cancel" + canceltext="Don't ask"/> + </notification> + + <notification + icon="alertmodal.tga" name="MaxAllowedAgentOnRegion" type="alertmodal"> You can only have [MAX_AGENTS] Allowed Residents. @@ -7520,8 +7533,8 @@ Load web page [URL] ? [MESSAGE] -From object: <nolink>[OBJECTNAME]</nolink>, owner: [NAME] - <tag>confirm</tag> +From object: <nolink>[OBJECTNAME]</nolink>, owner: [NAME_SLURL] + <tag>confirm</tag> <form name="form"> <button index="0" diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml index 1e367b33fc..2aac4458e3 100755 --- a/indra/newview/skins/default/xui/es/notifications.xml +++ b/indra/newview/skins/default/xui/es/notifications.xml @@ -2950,7 +2950,7 @@ Si permaneces en esta región serás desconectado. [MESSAGE] -Del objeto: <nolink>[OBJECTNAME]</nolink>, propietario: [NAME] +Del objeto: <nolink>[OBJECTNAME]</nolink>, propietario: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Cargar"/> <button name="Cancel" text="Cancelar"/> diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml index 29e6fe1979..55a67e1187 100755 --- a/indra/newview/skins/default/xui/fr/notifications.xml +++ b/indra/newview/skins/default/xui/fr/notifications.xml @@ -2942,7 +2942,7 @@ Si vous restez dans cette région, vous serez déconnecté(e). [MESSAGE] -Venant de l'objet : <nolink>[OBJECTNAME]</nolink>, propriétaire : [NAME] +Venant de l'objet : <nolink>[OBJECTNAME]</nolink>, propriétaire : [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Charger"/> <button name="Cancel" text="Annuler"/> diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml index 61131b09c3..6aeabcc505 100755 --- a/indra/newview/skins/default/xui/it/notifications.xml +++ b/indra/newview/skins/default/xui/it/notifications.xml @@ -2947,7 +2947,7 @@ Se rimani qui verrai scollegato da Second Life. [MESSAGE] -Dall'oggetto: <nolink>[OBJECTNAME]</nolink>, proprietario: [NAME] +Dall'oggetto: <nolink>[OBJECTNAME]</nolink>, proprietario: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Caricare"/> <button name="Cancel" text="Annulla"/> diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml index 5f0ce7a73b..b3b4e06a68 100755 --- a/indra/newview/skins/default/xui/ja/notifications.xml +++ b/indra/newview/skins/default/xui/ja/notifications.xml @@ -2990,7 +2990,7 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ [MESSAGE] -送信元のオブジェクト:<nolink>[OBJECTNAME]</nolink>、所有者:[NAME] +送信元のオブジェクト:<nolink>[OBJECTNAME]</nolink>、所有者:[NAME_SLURL] <form name="form"> <button name="Gotopage" text="ページに移動"/> <button name="Cancel" text="取り消し"/> diff --git a/indra/newview/skins/default/xui/pl/notifications.xml b/indra/newview/skins/default/xui/pl/notifications.xml index c4a65d92b4..25cc43a6e3 100755 --- a/indra/newview/skins/default/xui/pl/notifications.xml +++ b/indra/newview/skins/default/xui/pl/notifications.xml @@ -2493,7 +2493,7 @@ Nastąpi wylogowanie jeżeli zostaniesz w tym regionie. [MESSAGE] -Od obiektu: <nolink>[OBJECTNAME]</nolink>, właściciel właściciel: [NAME]? +Od obiektu: <nolink>[OBJECTNAME]</nolink>, właściciel właściciel: [NAME_SLURL]? <form name="form"> <button name="Gotopage" text="Załaduj"/> <button name="Cancel" text="Anuluj"/> diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml index a264495404..3a3603307e 100755 --- a/indra/newview/skins/default/xui/pt/notifications.xml +++ b/indra/newview/skins/default/xui/pt/notifications.xml @@ -2931,7 +2931,7 @@ Se permanecer aqui, você será desconectado. [MESSAGE] -Do objeto: <nolink>[OBJECTNAME]</nolink>, de: [NAME] +Do objeto: <nolink>[OBJECTNAME]</nolink>, de: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Carregar"/> <button name="Cancel" text="Cancelar"/> diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml index 70b9a25590..7b024926e2 100755 --- a/indra/newview/skins/default/xui/ru/notifications.xml +++ b/indra/newview/skins/default/xui/ru/notifications.xml @@ -2942,7 +2942,7 @@ http://secondlife.com/download. [MESSAGE] -Из объекта: <nolink>[OBJECTNAME]</nolink>, владелец: [NAME] +Из объекта: <nolink>[OBJECTNAME]</nolink>, владелец: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Перейти на страницу"/> <button name="Cancel" text="Отмена"/> diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml index df22251b3d..9875399b34 100755 --- a/indra/newview/skins/default/xui/tr/notifications.xml +++ b/indra/newview/skins/default/xui/tr/notifications.xml @@ -2942,7 +2942,7 @@ Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak. [MESSAGE] -Kaynak nesne: <nolink>[OBJECTNAME]</nolink>, sahibi: [NAME] +Kaynak nesne: <nolink>[OBJECTNAME]</nolink>, sahibi: [NAME_SLURL] <form name="form"> <button name="Gotopage" text="Sayfaya git"/> <button name="Cancel" text="İptal"/> diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml index 0a98101b60..371f5d9b39 100755 --- a/indra/newview/skins/default/xui/zh/notifications.xml +++ b/indra/newview/skins/default/xui/zh/notifications.xml @@ -2932,7 +2932,7 @@ SHA1 指紋:[MD5_DIGEST] [MESSAGE] -來源物件:<nolink>[OBJECTNAME]</nolink>(所有人:[NAME]) +來源物件:<nolink>[OBJECTNAME]</nolink>(所有人:[NAME_SLURL]) <form name="form"> <button name="Gotopage" text="前往頁面"/> <button name="Cancel" text="取消"/> |