diff --git a/indra/llinventory/llinventory.cpp b/indra/llinventory/llinventory.cpp index deb25c74c..66a0f0278 100644 --- a/indra/llinventory/llinventory.cpp +++ b/indra/llinventory/llinventory.cpp @@ -178,7 +178,7 @@ BOOL LLInventoryObject::importLegacyStream(std::istream& input_stream) while(input_stream.good()) { input_stream.getline(buffer, MAX_STRING); - sscanf(buffer, " %254s %254s", keyword, valuestr); /* Flawfinder: ignore */ + if (sscanf(buffer, " %254s %254s", keyword, valuestr) < 1) continue; if(0 == strcmp("{",keyword)) { continue; @@ -610,7 +610,7 @@ BOOL LLInventoryItem::importFile(LLFILE* fp) buffer[0] = '\0'; } - sscanf(buffer, " %254s %254s", keyword, valuestr); /* Flawfinder: ignore */ + if (sscanf(buffer, " %254s %254s", keyword, valuestr) < 1) continue; if(0 == strcmp("{",keyword)) { continue; @@ -813,10 +813,10 @@ BOOL LLInventoryItem::importLegacyStream(std::istream& input_stream) while(success && input_stream.good()) { input_stream.getline(buffer, MAX_STRING); - sscanf( /* Flawfinder: ignore */ + if (sscanf( buffer, " %254s %254s", - keyword, valuestr); + keyword, valuestr) < 1) continue; if(0 == strcmp("{",keyword)) { continue; @@ -1489,10 +1489,10 @@ BOOL LLInventoryCategory::importFile(LLFILE* fp) buffer[0] = '\0'; } - sscanf( /* Flawfinder: ignore */ + if (sscanf( buffer, " %254s %254s", - keyword, valuestr); + keyword, valuestr) < 1) continue; if(0 == strcmp("{",keyword)) { continue; @@ -1568,10 +1568,10 @@ BOOL LLInventoryCategory::importLegacyStream(std::istream& input_stream) while(input_stream.good()) { input_stream.getline(buffer, MAX_STRING); - sscanf( /* Flawfinder: ignore */ + if (sscanf( buffer, " %254s %254s", - keyword, valuestr); + keyword, valuestr) < 1) continue; if(0 == strcmp("{",keyword)) { continue; diff --git a/indra/llrender/CMakeLists.txt b/indra/llrender/CMakeLists.txt index 38adb7dd0..b03111f7e 100644 --- a/indra/llrender/CMakeLists.txt +++ b/indra/llrender/CMakeLists.txt @@ -74,6 +74,11 @@ set(llrender_HEADER_FILES set_source_files_properties(${llrender_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) +# Workaround hack for clang bugs +if (DARWIN) + set_property(SOURCE llgl.cpp PROPERTY COMPILE_FLAGS -O1) +endif (DARWIN) + list(APPEND llrender_SOURCE_FILES ${llrender_HEADER_FILES}) add_library (llrender ${llrender_SOURCE_FILES}) diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 16fb57c25..c8be07f43 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -571,6 +571,9 @@ void LLFloater::open() /* Flawfinder: ignore */ setVisibleAndFrontmost(mAutoFocus); } + if (!getControlName().empty()) + setControlValue(true); + onOpen(); } @@ -633,6 +636,9 @@ void LLFloater::close(bool app_quitting) } } + if (!app_quitting && !getControlName().empty()) + setControlValue(false); + // Let floater do cleanup. onClose(app_quitting); } diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 73f87037a..64861526c 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -253,10 +253,10 @@ Rect Value - 0 - 0 - 0 - 0 + 30 + 505 + 580 + 275 FloaterAvatarTextRect @@ -6106,10 +6106,10 @@ This should be as low as possible, but too low may break functionality Rect Value - 0 - 0 - 0 - 0 + 30 + 505 + 580 + 275 DestinationGuideShown diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index ec1c5acb3..d76a43566 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -257,6 +257,8 @@ LLFloaterLand::~LLFloaterLand() // public void LLFloaterLand::refresh() { + if (LLViewerParcelMgr::getInstance()->selectionEmpty()) + LLViewerParcelMgr::getInstance()->selectParcelAt(gAgent.getPositionGlobal()); mPanelGeneral->refresh(); mPanelObjects->refresh(); mPanelOptions->refresh(); diff --git a/indra/newview/llfloatermediafilter.cpp b/indra/newview/llfloatermediafilter.cpp index 3384b05a9..3b636484b 100644 --- a/indra/newview/llfloatermediafilter.cpp +++ b/indra/newview/llfloatermediafilter.cpp @@ -74,7 +74,7 @@ void LLFloaterMediaFilter::updateLists(LLMediaFilter::EMediaList list_type) { bool white(list_type == LLMediaFilter::WHITELIST); const LLMediaFilter& inst(LLMediaFilter::instance()); - LLMediaFilter::string_list_t list = white ? inst.getWhiteList() : inst.getBlackList(); + const LLMediaFilter::string_list_t& list = white ? inst.getWhiteList() : inst.getBlackList(); LLScrollListCtrl* scroll(white ? mWhitelist : mBlacklist); scroll->clearRows(); for (LLMediaFilter::string_list_t::const_iterator itr = list.begin(); itr != list.end(); ++itr) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index a452d1368..403b04099 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -341,9 +341,15 @@ void LLPreferenceCore::setPersonalInfo(const std::string& visibility, bool im_vi ////////////////////////////////////////////// // LLFloaterPreference +void reset_to_default(const std::string& control) +{ + LLUI::getControlControlGroup(control).getControl(control)->resetToDefault(true); +} + LLFloaterPreference::LLFloaterPreference() { mExitWithoutSaving = false; + mCommitCallbackRegistrar.add("Prefs.Reset", boost::bind(reset_to_default, _2)); LLUICtrlFactory::getInstance()->buildFloater(this, "floater_preferences.xml"); } diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp index 1cae093dc..517266097 100644 --- a/indra/newview/llgesturemgr.cpp +++ b/indra/newview/llgesturemgr.cpp @@ -1358,8 +1358,10 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str) { S32 in_len = in_str.length(); +#ifdef MATCH_COMMON_CHARS std::string rest_of_match = ""; std::string buf = ""; +#endif item_map_t::iterator it; for (it = mActive.begin(); it != mActive.end(); ++it) { @@ -1367,18 +1369,26 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str) if (gesture) { const std::string& trigger = gesture->getTrigger(); +#ifdef MATCH_COMMON_CHARS //return whole trigger, if received text equals to it if (!LLStringUtil::compareInsensitive(in_str, trigger)) { *out_str = trigger; return TRUE; } +#else + if (in_len > (S32)trigger.length()) continue; // too short, bail out +#endif //return common chars, if more than one trigger matches the prefix std::string trigger_trunc = trigger; LLStringUtil::truncate(trigger_trunc, in_len); if (!LLStringUtil::compareInsensitive(in_str, trigger_trunc)) { +#ifndef MATCH_COMMON_CHARS + *out_str = trigger; + return TRUE; +#else if (rest_of_match.compare("") == 0) { rest_of_match = trigger.substr(in_str.size()); @@ -1411,16 +1421,18 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str) { rest_of_match = buf; } - +#endif } } } +#ifdef MATCH_COMMON_CHARS if (!rest_of_match.empty()) { *out_str = in_str + rest_of_match; return TRUE; } +#endif return FALSE; } diff --git a/indra/newview/llmediafilter.cpp b/indra/newview/llmediafilter.cpp index 9d5dacf1c..56d01e422 100644 --- a/indra/newview/llmediafilter.cpp +++ b/indra/newview/llmediafilter.cpp @@ -41,6 +41,10 @@ bool handle_media_filter_callback(const LLSD& notification, const LLSD& response std::string extractDomain(const std::string& in_url); LLMediaFilter::LLMediaFilter() +: mMediaCommandQueue(0) +, mCurrentParcel(NULL) +, mMediaQueue(NULL) +, mAlertActive(false) { loadMediaFilterFromDisk(); } @@ -56,7 +60,7 @@ void LLMediaFilter::filterMediaUrl(LLParcel* parcel) const std::string domain = extractDomain(url); mCurrentParcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); - U32 enabled = gSavedSettings.getU32("MediaFilterEnable"); + U32 enabled = gSavedSettings.getU32("MediaFilterEnable"); if (enabled > 1 && (filter(domain, WHITELIST) || filter(url, WHITELIST))) { @@ -104,7 +108,7 @@ void LLMediaFilter::filterAudioUrl(const std::string& url) const std::string domain = extractDomain(url); mCurrentParcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); - U32 enabled = gSavedSettings.getU32("MediaFilterEnable"); + U32 enabled = gSavedSettings.getU32("MediaFilterEnable"); if (enabled > 1 && (filter(domain, WHITELIST) || filter(url, WHITELIST))) { @@ -141,7 +145,7 @@ void LLMediaFilter::filterAudioUrl(const std::string& url) bool LLMediaFilter::filter(const std::string& url, EMediaList list) { - const string_list_t p_list = (list == WHITELIST) ? mWhiteList : mBlackList; + const string_list_t& p_list = (list == WHITELIST) ? mWhiteList : mBlackList; string_list_t::const_iterator find_itr = std::find(p_list.begin(), p_list.end(), url); return (find_itr != p_list.end()); } @@ -149,60 +153,34 @@ bool LLMediaFilter::filter(const std::string& url, EMediaList list) // List bizznizz void LLMediaFilter::addToMediaList(const std::string& in_url, EMediaList list, bool extract) { - std::string url = extract ? extractDomain(in_url) : in_url; + const std::string url = extract ? extractDomain(in_url) : in_url; if (url.empty()) { LL_INFOS("MediaFilter") << "No url found. Can't add to list." << LL_ENDL; return; } - switch (list) + string_list_t& p_list(list == WHITELIST ? mWhiteList : mBlackList); + // Check for duplicates + for (string_list_t::const_iterator itr = p_list.begin(); itr != p_list.end(); ++itr) { - case WHITELIST: - // Check for duplicates - for (string_list_t::const_iterator itr = mWhiteList.begin(); itr != mWhiteList.end(); ++itr) - { - if (url == *itr) - { - LL_INFOS("MediaFilter") << "URL " << url << " already in list!" << LL_ENDL; - return; - } - } - mWhiteList.push_back(url); - mMediaListUpdate(WHITELIST); - break; - case BLACKLIST: - for (string_list_t::const_iterator itr = mBlackList.begin(); itr != mBlackList.end(); ++itr) - { - if (url == *itr) - { - LL_INFOS("MediaFilter") << "URL " << url << "already in list!" << LL_ENDL; - return; - } - } - mBlackList.push_back(url); - mMediaListUpdate(BLACKLIST); - break; + if (url == *itr) + { + LL_INFOS("MediaFilter") << "URL " << url << " already in list!" << LL_ENDL; + return; + } } + p_list.push_back(url); + mMediaListUpdate(list); saveMediaFilterToDisk(); } void LLMediaFilter::removeFromMediaList(string_vec_t domains, EMediaList list) { if (domains.empty()) return; - switch (list) - { - case WHITELIST: - for (string_vec_t::const_iterator itr = domains.begin(); itr != domains.end(); ++itr) - mWhiteList.remove(*itr); - mMediaListUpdate(WHITELIST); - break; - case BLACKLIST: - for (string_vec_t::const_iterator itr = domains.begin(); itr != domains.end(); ++itr) - mBlackList.remove(*itr); - mMediaListUpdate(BLACKLIST); - break; - } + for (string_vec_t::const_iterator itr = domains.begin(); itr != domains.end(); ++itr) + (list == WHITELIST ? mWhiteList : mBlackList).remove(*itr); + mMediaListUpdate(list); saveMediaFilterToDisk(); } @@ -242,25 +220,24 @@ void LLMediaFilter::loadMediaFilterFromDisk() } } +void medialist_to_llsd(const LLMediaFilter::string_list_t& list, LLSD& list_llsd, const LLSD& action) +{ + for (LLMediaFilter::string_list_t::const_iterator itr = list.begin(); itr != list.end(); ++itr) + { + LLSD item; + item["domain"] = *itr; + item["action"] = action; + list_llsd.append(item); + } +} + void LLMediaFilter::saveMediaFilterToDisk() const { const std::string medialist_filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, MEDIALIST_XML); LLSD medialist_llsd; - for (string_list_t::const_iterator itr = mWhiteList.begin(); itr != mWhiteList.end(); ++itr) - { - LLSD item; - item["domain"] = *itr; - item["action"] = "allow"; // <- $*#@()&%@ - medialist_llsd.append(item); - } - for (string_list_t::const_iterator itr = mBlackList.begin(); itr != mBlackList.end(); ++itr) - { - LLSD item; - item["domain"] = *itr; - item["action"] = "deny"; // sigh. - medialist_llsd.append(item); - } + medialist_to_llsd(mWhiteList, medialist_llsd, "allow"); // <- $*#@()&%@ + medialist_to_llsd(mBlackList, medialist_llsd, "deny"); // sigh. llofstream medialist; medialist.open(medialist_filename); @@ -268,6 +245,30 @@ void LLMediaFilter::saveMediaFilterToDisk() const medialist.close(); } +void perform_queued_command(LLMediaFilter& inst) +{ + if (U32 command = inst.getQueuedMediaCommand()) + { + if (command == PARCEL_MEDIA_COMMAND_STOP) + { + LLViewerParcelMedia::stop(); + } + else if (command == PARCEL_MEDIA_COMMAND_PAUSE) + { + LLViewerParcelMedia::pause(); + } + else if (command == PARCEL_MEDIA_COMMAND_UNLOAD) + { + LLViewerParcelMedia::stop(); + } + else if (command == PARCEL_MEDIA_COMMAND_TIME) + { + LLViewerParcelMedia::seek(LLViewerParcelMedia::sMediaCommandTime); + } + inst.setQueuedMediaCommand(0); + } +} + bool handle_audio_filter_callback(const LLSD& notification, const LLSD& response, const std::string& url) { LLMediaFilter& inst(LLMediaFilter::instance()); @@ -335,26 +336,9 @@ bool handle_audio_filter_callback(const LLSD& notification, const LLSD& response if (queued_media) inst.filterMediaUrl(queued_media); } - else if (inst.getQueuedMediaCommand()) + else { - U32 command = inst.getQueuedMediaCommand(); - if (command == PARCEL_MEDIA_COMMAND_STOP) - { - LLViewerParcelMedia::stop(); - } - else if (command == PARCEL_MEDIA_COMMAND_PAUSE) - { - LLViewerParcelMedia::pause(); - } - else if (command == PARCEL_MEDIA_COMMAND_UNLOAD) - { - LLViewerParcelMedia::stop(); - } - else if (command == PARCEL_MEDIA_COMMAND_TIME) - { - LLViewerParcelMedia::seek(LLViewerParcelMedia::sMediaCommandTime); - } - inst.setQueuedMediaCommand(0); + perform_queued_command(inst); } return false; @@ -365,7 +349,7 @@ bool handle_media_filter_callback(const LLSD& notification, const LLSD& response LLMediaFilter& inst(LLMediaFilter::instance()); inst.setAlertStatus(false); S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - const std::string url = notification["payload"].asString(); + const std::string& url = notification["payload"].asString(); LLParcel* queue = inst.getQueuedMedia(); switch(option) { @@ -403,26 +387,9 @@ bool handle_media_filter_callback(const LLSD& notification, const LLSD& response inst.clearQueuedAudio(); inst.filterAudioUrl(audio_queue); } - else if (inst.getQueuedMediaCommand()) + else { - U32 command = inst.getQueuedMediaCommand(); - if (command == PARCEL_MEDIA_COMMAND_STOP) - { - LLViewerParcelMedia::stop(); - } - else if (command == PARCEL_MEDIA_COMMAND_PAUSE) - { - LLViewerParcelMedia::pause(); - } - else if (command == PARCEL_MEDIA_COMMAND_UNLOAD) - { - LLViewerParcelMedia::stop(); - } - else if (command == PARCEL_MEDIA_COMMAND_TIME) - { - LLViewerParcelMedia::seek(LLViewerParcelMedia::sMediaCommandTime); - } - inst.setQueuedMediaCommand(0); + perform_queued_command(inst); } return false; @@ -437,7 +404,7 @@ std::string extractDomain(const std::string& in_url) if (pos != std::string::npos) { - S32 count = url.size()-pos+2; + size_t count = url.size()-pos+2; url = url.substr(pos+2, count); } @@ -455,7 +422,7 @@ std::string extractDomain(const std::string& in_url) if (pos != std::string::npos) { - S32 count = url.size()-pos+1; + size_t count = url.size()-pos+1; url = url.substr(pos+1, count); } @@ -471,6 +438,6 @@ std::string extractDomain(const std::string& in_url) // Now map the whole thing to lowercase, since domain names aren't // case sensitive. - std::transform(url.begin(), url.end(),url.begin(), ::tolower); + std::transform(url.begin(), url.end(), url.begin(), ::tolower); return url; } diff --git a/indra/newview/llpaneldisplay.cpp b/indra/newview/llpaneldisplay.cpp index 43ebbcc34..1d4e23ded 100644 --- a/indra/newview/llpaneldisplay.cpp +++ b/indra/newview/llpaneldisplay.cpp @@ -97,8 +97,22 @@ const F32 MIN_USER_FAR_CLIP = 64.f; const S32 ASPECT_RATIO_STR_LEN = 100; +void reset_to_default(const std::string& control); +void reset_all_to_default(const LLView* panel) +{ + LLView::child_list_const_iter_t end(panel->endChild()); + for (LLView::child_list_const_iter_t i = panel->beginChild(); i != end; ++i) + { + const std::string& control_name((*i)->getControlName()); + if (control_name.empty()) continue; + if (control_name == "RenderDepthOfField") continue; // Don't touch render settings *sigh* hack + reset_to_default(control_name); + } +} + LLPanelDisplay::LLPanelDisplay() { + mCommitCallbackRegistrar.add("Graphics.ResetTab", boost::bind(reset_all_to_default, boost::bind(&LLView::getChildView, this, _2, true, false))); LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_graphics1.xml"); } diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp index 74c591f1e..40e450dd7 100644 --- a/indra/newview/llpanelgroupnotices.cpp +++ b/indra/newview/llpanelgroupnotices.cpp @@ -53,6 +53,7 @@ #include "llscrolllistctrl.h" #include "llscrolllistitem.h" #include "lltextbox.h" +#include "lltrans.h" #include "roles_constants.h" #include "llviewerwindow.h" @@ -511,6 +512,7 @@ void LLPanelGroupNotices::onSelectNotice() lldebugs << "Item " << item->getUUID() << " selected." << llendl; } +bool is_openable(LLAssetType::EType type); void LLPanelGroupNotices::showNotice(const std::string& subject, const std::string& message, const bool& has_inventory, @@ -549,6 +551,7 @@ void LLPanelGroupNotices::showNotice(const std::string& subject, mViewInventoryName->setText(ss.str()); mBtnOpenAttachment->setEnabled(TRUE); + mBtnOpenAttachment->setLabel(LLTrans::getString(is_openable(inventory_offer->mType) ? "GroupNotifyOpenAttachment" : "GroupNotifySaveAttachment")); } else { diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index e66bad4eb..d9afd5b04 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -3048,7 +3048,7 @@ void LLPanelGroupBanListSubTab::populateBanList() ban_entry.columns.add().column("name").font/*.name*/("SANSSERIF_SMALL").font_style("NORMAL"); // Singu Note: We have special date columns, so our code is unique here - ban_entry.columns.add().column("ban_date").value(bd.mBanDate).format("%Y/%m%d").font/*.name*/("SANSSERIF_SMALL").font_style("NORMAL"); + ban_entry.columns.add().column("ban_date").value(bd.mBanDate).type("date").format("%Y/%m%d").font/*.name*/("SANSSERIF_SMALL").font_style("NORMAL"); mBanList->addNameItemRow(ban_entry); } diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index c1ea44d7a..dfcee38e7 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -1604,7 +1604,7 @@ EAcceptance LLToolDragAndDrop::willObjectAcceptInventory(LLViewerObject* obj, LL transfer = TRUE; } BOOL volume = (LL_PCODE_VOLUME == obj->getPCode()); - BOOL attached = obj->isAttachment(); + BOOL attached = false; // No longer necessary. BOOL unrestricted = ((perm.getMaskBase() & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED) ? TRUE : FALSE; // [RLVa:KB] - Checked: 2010-03-31 (RLVa-1.2.0c) | Modified: RLVa-1.0.0c diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 7faea5f98..9ea0c19d5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2903,7 +2903,7 @@ BOOL LLViewerObject::loadTaskInvFile(const std::string& filename) while(ifs.good()) { ifs.getline(buffer, MAX_STRING); - sscanf(buffer, " %254s", keyword); /* Flawfinder: ignore */ + if (sscanf(buffer, " %254s", keyword) < 1) continue; if(0 == strcmp("inv_item", keyword)) { LLPointer inv = new LLViewerInventoryItem; diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 4841e56e3..ff86604f5 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -95,7 +95,6 @@ - @@ -259,7 +258,7 @@ - + @@ -271,6 +270,7 @@ + diff --git a/indra/newview/skins/default/xui/en-us/menu_login.xml b/indra/newview/skins/default/xui/en-us/menu_login.xml index 666cce9b4..441c2e0e8 100644 --- a/indra/newview/skins/default/xui/en-us/menu_login.xml +++ b/indra/newview/skins/default/xui/en-us/menu_login.xml @@ -13,6 +13,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/indra/newview/skins/default/xui/en-us/menu_viewer.xml index 458bb96c8..a9115f61c 100644 --- a/indra/newview/skins/default/xui/en-us/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en-us/menu_viewer.xml @@ -357,11 +357,6 @@ - - - - + + + + diff --git a/indra/newview/skins/default/xui/en-us/notifications.xml b/indra/newview/skins/default/xui/en-us/notifications.xml index f9c7e608b..f1315772a 100644 --- a/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/indra/newview/skins/default/xui/en-us/notifications.xml @@ -151,7 +151,7 @@ icon="alert.tga" name="MediaAlert" type="alert"> -The owner of this parcel has requested the following [TYPE] URL to be loaded by your viewer: +The owner of this parcel has requested the following [MEDIA_TYPE] URL to be loaded by your viewer: [URL] diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml index 5e017ec8f..a0c5551d4 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml @@ -141,10 +141,28 @@ when the Atmospheric Shaders are enabled. - - - - + + + + + + + + + + [RES_X] x [RES_Y] diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index 9c64877ca..ae190c5b7 100644 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -74,7 +74,6 @@ - @@ -216,7 +215,7 @@ - + @@ -225,9 +224,10 @@ + - + diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml index dce04a84e..91b4c1b34 100644 --- a/indra/newview/skins/default/xui/fr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml @@ -83,7 +83,6 @@ - @@ -243,4 +242,7 @@ + + + diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_ascent_vanity.xml b/indra/newview/skins/default/xui/fr/panel_preferences_ascent_vanity.xml index b5891495b..a00161142 100644 --- a/indra/newview/skins/default/xui/fr/panel_preferences_ascent_vanity.xml +++ b/indra/newview/skins/default/xui/fr/panel_preferences_ascent_vanity.xml @@ -14,6 +14,7 @@ +