From a5c80966e72a9968e4588001c1d742ae13df8992 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Fri, 27 Aug 2010 13:47:47 +0100 Subject: Backed out changeset 7a739cbdce56 A proper fix from Richard is coming next. --- indra/llrender/llrender.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'indra') diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 3a89b999bd..e1f6964f83 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -895,9 +895,7 @@ LLVector3 LLRender::getUITranslation() { if (mUIOffset.empty()) { - //llassert(!mUIOffset.empty()); - llwarns << "UI offset stack empty." << llendl; - return LLVector3(0,0,0); + llerrs << "UI offset stack empty." << llendl; } return mUIOffset.back(); } @@ -906,9 +904,7 @@ LLVector3 LLRender::getUIScale() { if (mUIScale.empty()) { - //llassert(!mUIScale.empty()); - llwarns << "UI scale stack empty." << llendl; - return LLVector3(1,1,1); + llerrs << "UI scale stack empty." << llendl; } return mUIScale.back(); } -- cgit v1.2.3 From ad9330025d18a29a2e90b77472a1f1f6e3c165ae Mon Sep 17 00:00:00 2001 From: Richard Nelson Date: Fri, 6 Aug 2010 11:03:28 -0700 Subject: fixed crash on entering build mode (transplanted from 72651623d96deee014411daeb82d50452261e0b3) --- indra/llrender/llrender.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index e1f6964f83..e26acd53a3 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -895,7 +895,7 @@ LLVector3 LLRender::getUITranslation() { if (mUIOffset.empty()) { - llerrs << "UI offset stack empty." << llendl; + return LLVector3::zero; } return mUIOffset.back(); } @@ -904,7 +904,7 @@ LLVector3 LLRender::getUIScale() { if (mUIScale.empty()) { - llerrs << "UI scale stack empty." << llendl; + return LLVector3(1.f, 1.f, 1.f); } return mUIScale.back(); } -- cgit v1.2.3 From 7d795ecfa84b265c6b77b38d7a2013053f929cab Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Thu, 19 Aug 2010 20:32:17 +0300 Subject: VWR-20724 FIXED Missing underlined shortcuts in some top-level menus. Some of the menus lacked the underlined shortcut keys because there was no create_jump_keys="true" XML attribute specified for them. I just added the attribute to all menus. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/869/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/menu_login.xml | 2 ++ indra/newview/skins/default/xui/en/menu_viewer.xml | 7 +++++++ 2 files changed, 9 insertions(+) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 9fac296e26..751dc0bf3e 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -64,6 +64,7 @@ parameter="UseDebugMenus" /> --> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 63ff7047b4..668455099a 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -4,6 +4,7 @@ follows="left|top|right" name="Main Menu"> @@ -92,6 +93,7 @@ parameter="voice_effect" /> @@ -134,6 +136,7 @@ @@ -182,6 +185,7 @@ @@ -876,6 +880,7 @@ @@ -918,6 +923,7 @@ Date: Thu, 19 Aug 2010 20:50:41 +0300 Subject: VWR-20734 FIXED Changed parcel properties to default to "on" in the location bar. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/870/ --HG-- branch : product-engine --- indra/newview/app_settings/settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 810b2d9a1d..c1219ab46f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8601,7 +8601,7 @@ Type Boolean Value - 0 + 1 ShowBetaGrids -- cgit v1.2.3 From a1e401c626ba4f0a46e86e31ab91d1cbecf07942 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Wed, 18 Aug 2010 20:42:11 +0300 Subject: EXT-7325 FIXED Disabled "Show on Map" context menu item in My Landmarks while landmark coordinates are being downloaded from landmarks list. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/866/. --HG-- branch : product-engine --- indra/newview/lllandmarklist.cpp | 5 +++++ indra/newview/lllandmarklist.h | 4 ++++ indra/newview/llpanellandmarks.cpp | 24 +++++++++++++++++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/lllandmarklist.cpp b/indra/newview/lllandmarklist.cpp index 87257832b6..dd402de394 100644 --- a/indra/newview/lllandmarklist.cpp +++ b/indra/newview/lllandmarklist.cpp @@ -159,6 +159,11 @@ void LLLandmarkList::processGetAssetReply( } +BOOL LLLandmarkList::isAssetInLoadedCallbackMap(const LLUUID& asset_uuid) +{ + return mLoadedCallbackMap.find(asset_uuid) != mLoadedCallbackMap.end(); +} + BOOL LLLandmarkList::assetExists(const LLUUID& asset_uuid) { return mList.count(asset_uuid) != 0 || mBadList.count(asset_uuid) != 0; diff --git a/indra/newview/lllandmarklist.h b/indra/newview/lllandmarklist.h index 6d32f0e75b..3356f866ce 100644 --- a/indra/newview/lllandmarklist.h +++ b/indra/newview/lllandmarklist.h @@ -59,6 +59,10 @@ public: S32 status, LLExtStat ext_status ); + // Returns TRUE if loading the landmark with given asset_uuid has been requested + // but is not complete yet. + BOOL isAssetInLoadedCallbackMap(const LLUUID& asset_uuid); + protected: void onRegionHandle(const LLUUID& landmark_id); void makeCallbacks(const LLUUID& landmark_id); diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index d825071825..650a806c00 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -974,7 +974,28 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const ) { // disable some commands for multi-selection. EXT-1757 - return root_folder_view && root_folder_view->getSelectedCount() == 1; + bool is_single_selection = root_folder_view && root_folder_view->getSelectedCount() == 1; + if (!is_single_selection) + { + return false; + } + + if ("show_on_map" == command_name) + { + LLFolderViewItem* cur_item = root_folder_view->getCurSelectedItem(); + if (!cur_item) return false; + + LLViewerInventoryItem* inv_item = cur_item->getInventoryItem(); + if (!inv_item) return false; + + LLUUID asset_uuid = inv_item->getAssetUUID(); + if (asset_uuid.isNull()) return false; + + // Disable "Show on Map" if landmark loading is in progress. + return !gLandmarkList.isAssetInLoadedCallbackMap(asset_uuid); + } + + return true; } else if ("rename" == command_name) { @@ -1188,6 +1209,7 @@ void LLLandmarksPanel::doShowOnMap(LLLandmark* landmark) } mShowOnMapBtn->setEnabled(TRUE); + mGearLandmarkMenu->setItemEnabled("show_on_map", TRUE); } void LLLandmarksPanel::doProcessParcelInfo(LLLandmark* landmark, -- cgit v1.2.3 From 1fe7dd2fd7f0f9b7d15e0090e9e14708edbebde9 Mon Sep 17 00:00:00 2001 From: Sergei Litovchuk Date: Thu, 19 Aug 2010 16:16:10 +0300 Subject: EXT-8697 FIXED Disabled "Cut" context menu item for folders in 'My Landmarks'. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/867/. --HG-- branch : product-engine --- indra/newview/llpanellandmarks.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index 650a806c00..b4d19408f1 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -1120,7 +1120,8 @@ bool LLLandmarksPanel::canSelectedBeModified(const std::string& command_name) co if ("cut" == command_name) { - can_be_modified = root_folder->canCut(); + // "Cut" disabled for folders. See EXT-8697. + can_be_modified = root_folder->canCut() && listenerp->getInventoryType() != LLInventoryType::IT_CATEGORY; } else if ("rename" == command_name) { -- cgit v1.2.3 From 8eb54d67bbf6fc157b625a90f99648f6a91b8995 Mon Sep 17 00:00:00 2001 From: "Mark Palange (Mani)" Date: Thu, 19 Aug 2010 16:55:41 -0700 Subject: EXT-8668 Added da and pl langs to the windows installer --- .../newview/installers/windows/installer_template.nsi | 6 +++++- indra/newview/installers/windows/lang_da.nsi | Bin 0 -> 7108 bytes indra/newview/installers/windows/lang_pl.nsi | Bin 0 -> 7450 bytes indra/newview/installers/windows/language_menu.nsi | Bin 1302 -> 1444 bytes 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 indra/newview/installers/windows/lang_da.nsi create mode 100644 indra/newview/installers/windows/lang_pl.nsi (limited to 'indra') diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 3ea7897501..49ae58d53a 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -29,6 +29,7 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog ;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the ;; application directory so we have to add a path to these include files) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +!include "%%SOURCE%%\installers\windows\lang_da.nsi" !include "%%SOURCE%%\installers\windows\lang_de.nsi" !include "%%SOURCE%%\installers\windows\lang_en-us.nsi" !include "%%SOURCE%%\installers\windows\lang_es.nsi" @@ -37,18 +38,21 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog !include "%%SOURCE%%\installers\windows\lang_it.nsi" !include "%%SOURCE%%\installers\windows\lang_ko.nsi" !include "%%SOURCE%%\installers\windows\lang_nl.nsi" +!include "%%SOURCE%%\installers\windows\lang_pl.nsi" !include "%%SOURCE%%\installers\windows\lang_pt-br.nsi" !include "%%SOURCE%%\installers\windows\lang_zh.nsi" # *TODO: Move these into the language files themselves +LangString LanguageCode ${LANG_DANISH} "da" LangString LanguageCode ${LANG_GERMAN} "de" -LangString LanguageCode ${LANG_ENGLISH} "en" +Langstring LanguageCode ${LANG_ENGLISH} "en" LangString LanguageCode ${LANG_SPANISH} "es" LangString LanguageCode ${LANG_FRENCH} "fr" LangString LanguageCode ${LANG_JAPANESE} "ja" LangString LanguageCode ${LANG_ITALIAN} "it" LangString LanguageCode ${LANG_KOREAN} "ko" LangString LanguageCode ${LANG_DUTCH} "nl" +LangString LanguageCode ${LANG_POLISH} "da" LangString LanguageCode ${LANG_PORTUGUESEBR} "pt" LangString LanguageCode ${LANG_SIMPCHINESE} "zh" diff --git a/indra/newview/installers/windows/lang_da.nsi b/indra/newview/installers/windows/lang_da.nsi new file mode 100644 index 0000000000..0c832e8ba9 Binary files /dev/null and b/indra/newview/installers/windows/lang_da.nsi differ diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi new file mode 100644 index 0000000000..191bae4755 Binary files /dev/null and b/indra/newview/installers/windows/lang_pl.nsi differ diff --git a/indra/newview/installers/windows/language_menu.nsi b/indra/newview/installers/windows/language_menu.nsi index 988f452dea..fef8d40c69 100644 Binary files a/indra/newview/installers/windows/language_menu.nsi and b/indra/newview/installers/windows/language_menu.nsi differ -- cgit v1.2.3 From c5311b1444fcb257ffcd92c17e8e556ad6eecd30 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Tue, 24 Aug 2010 11:14:51 +0300 Subject: EXT-8362 FIXED ([TRUNCATION] IT login screen - truncation in location box) - Increased combo box width and removed unnecessary parameters wirth from other locales Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/871/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/de/panel_login.xml | 2 +- indra/newview/skins/default/xui/en/panel_login.xml | 2 +- indra/newview/skins/default/xui/fr/panel_login.xml | 2 +- indra/newview/skins/default/xui/ja/panel_login.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/de/panel_login.xml b/indra/newview/skins/default/xui/de/panel_login.xml index 0f02de866b..b373be4382 100644 --- a/indra/newview/skins/default/xui/de/panel_login.xml +++ b/indra/newview/skins/default/xui/de/panel_login.xml @@ -20,7 +20,7 @@ Hier anfangen: - + diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 0499873fb0..6b136495d2 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -130,7 +130,7 @@ control_name="LoginLocation" max_chars="128" top_pad="0" name="start_location_combo" - width="135"> + width="170"> Lieu de départ : - + diff --git a/indra/newview/skins/default/xui/ja/panel_login.xml b/indra/newview/skins/default/xui/ja/panel_login.xml index 47d7a88b4c..808f19a16d 100644 --- a/indra/newview/skins/default/xui/ja/panel_login.xml +++ b/indra/newview/skins/default/xui/ja/panel_login.xml @@ -20,7 +20,7 @@ 開始地点: - + -- cgit v1.2.3 From 4fe662fe9ae9fe1760121b99c3f70438b79fcdca Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Tue, 24 Aug 2010 11:15:53 +0300 Subject: EXT-8672 FIXED ([HARD CODED] ALL LANGS The word \"Saved\" is hard coded, in the long timestamp displayed in IM when user is offline) - Created a string with a time stamp parameter and added it to the strings.xml Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/872/ --HG-- branch : product-engine --- indra/newview/llimview.cpp | 4 +++- indra/newview/llviewermessage.cpp | 4 +++- indra/newview/skins/default/xui/en/strings.xml | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index f748603bfa..6e7d8328aa 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -3067,7 +3067,9 @@ public: std::string saved; if(offline == IM_OFFLINE) { - saved = llformat("(Saved %s) ", formatted_time(timestamp).c_str()); + LLStringUtil::format_map_t args; + args["[LONG_TIMESTAMP]"] = formatted_time(timestamp); + saved = LLTrans::getString("Saved_message", args); } std::string buffer = saved + message; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 2a6b272741..ed2240d9a3 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2183,7 +2183,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) std::string saved; if(offline == IM_OFFLINE) { - saved = llformat("(Saved %s) ", formatted_time(timestamp).c_str()); + LLStringUtil::format_map_t args; + args["[LONG_TIMESTAMP]"] = formatted_time(timestamp); + saved = LLTrans::getString("Saved_message", args); } buffer = saved + message; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 048de70045..8f6628bc64 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3002,6 +3002,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Click here to instant message. To (Moderator) + (Saved [LONG_TIMESTAMP]) Your call has been answered -- cgit v1.2.3 From 76283d5cfb6923ba609533fcf71d5231060314df Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Tue, 24 Aug 2010 11:16:53 +0300 Subject: EXT-7878 FIXED (Corrupted vertical scroll bar appears on 'Edit Outfit' panel if height of 'Add More' panel was changed) - Increased panel's min height Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/874/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_outfit_edit.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index cf174da2f0..e6714af943 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -295,7 +295,7 @@ It is calculated as border_size + 2*UIResizeBarOverlap auto_resize="true" default_tab_group="3" height="450" - min_height="53" + min_height="73" name="add_wearables_panel" width="313" tab_group="2" -- cgit v1.2.3 From f305ddc7f773454826a09a8d52c33735eb7c95ea Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Tue, 24 Aug 2010 12:39:11 +0300 Subject: EXT-7951 RESTORED IN VIEWER-DEVELOPMENT REPO (Mini-Location panel appearance design issues) - Added callback on show\hide Mini Location Panel event. This callback sets proper initial minimized position depending on state (shown or hidded) Mini Location Panel. Also callback shifts vertically already minimized floaters so that they don't overlap Mini Location Panel Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/851/ --HG-- branch : product-engine --- indra/llui/llfloater.cpp | 14 +++++++++++++ indra/llui/llfloater.h | 3 +++ indra/newview/llpaneltopinfobar.cpp | 23 ++++++++++++++++++++++ indra/newview/llpaneltopinfobar.h | 5 +++++ .../skins/default/xui/en/panel_topinfo_bar.xml | 10 +++++----- 5 files changed, 50 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 3cfb2c5d4a..3fcb5f9f03 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2279,6 +2279,7 @@ void LLFloaterView::getMinimizePosition(S32 *left, S32 *bottom) S32 floater_header_size = default_params.header_height; static LLUICachedControl minimized_width ("UIMinimizedWidth", 0); LLRect snap_rect_local = getLocalSnapRect(); + snap_rect_local.mTop += mVMinimizePositionOffset; for(S32 col = snap_rect_local.mLeft; col < snap_rect_local.getWidth() - minimized_width; col += minimized_width) @@ -2376,6 +2377,19 @@ BOOL LLFloaterView::allChildrenClosed() return true; } +void LLFloaterView::shiftFloaters(S32 x_offset, S32 y_offset) +{ + for (child_list_const_iter_t it = getChildList()->begin(); it != getChildList()->end(); ++it) + { + LLFloater* floaterp = dynamic_cast(*it); + + if (floaterp && floaterp->isMinimized()) + { + floaterp->translate(x_offset, y_offset); + } + } +} + void LLFloaterView::refresh() { // Constrain children to be entirely on the screen diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 2deae29607..cd24471345 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -449,6 +449,7 @@ public: // Given a child of gFloaterView, make sure this view can fit entirely onscreen. void adjustToFitScreen(LLFloater* floater, BOOL allow_partial_outside); + void setMinimizePositionVerticalOffset(S32 offset) { mVMinimizePositionOffset = offset; } void getMinimizePosition( S32 *left, S32 *bottom); void restoreAll(); // un-minimize all floaters typedef std::set skip_list_t; @@ -465,6 +466,7 @@ public: // attempt to close all floaters void closeAllChildren(bool app_quitting); BOOL allChildrenClosed(); + void shiftFloaters(S32 x_offset, S32 y_offset); LLFloater* getFrontmost() const; LLFloater* getBackmost() const; @@ -484,6 +486,7 @@ private: BOOL mFocusCycleMode; S32 mSnapOffsetBottom; S32 mSnapOffsetRight; + S32 mVMinimizePositionOffset; }; // diff --git a/indra/newview/llpaneltopinfobar.cpp b/indra/newview/llpaneltopinfobar.cpp index 15f7195b1a..640ff9cae7 100644 --- a/indra/newview/llpaneltopinfobar.cpp +++ b/indra/newview/llpaneltopinfobar.cpp @@ -155,6 +155,8 @@ BOOL LLPanelTopInfoBar::postBuild() mParcelMgrConnection = LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback( boost::bind(&LLPanelTopInfoBar::onAgentParcelChange, this)); + setVisibleCallback(boost::bind(&LLPanelTopInfoBar::onShow, this, _2)); + return TRUE; } @@ -168,6 +170,27 @@ void LLPanelTopInfoBar::onNavBarShowParcelPropertiesCtrlChanged() setParcelInfoText(new_text); } +// when panel is shown, all minimized floaters should be shifted to prevent overlapping of +// PanelTopInfoBar. See EXT-7951. +void LLPanelTopInfoBar::onShow(const LLSD& show) +{ + // this height is used as a vertical offset for ALREADY MINIMIZED floaters + // when PanelTopInfoBar visibility changes + S32 height = getRect().getHeight(); + + // this vertical offset is used for a start minimize position of floaters that + // are NOT MIMIMIZED YET + S32 minimize_pos_offset = 0; + + if (show.asBoolean()) + { + height = minimize_pos_offset = -height; + } + + gFloaterView->shiftFloaters(0, height); + gFloaterView->setMinimizePositionVerticalOffset(minimize_pos_offset); +} + void LLPanelTopInfoBar::draw() { updateParcelInfoText(); diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index cf608b88e1..5dbfc05118 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -52,6 +52,11 @@ public: */ void handleLoginComplete(); + /** + * Called when show/hide panel top info bar. + */ + void onShow(const LLSD& show); + private: class LLParcelChangeObserver; diff --git a/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml b/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml index d8f4297e0c..30d3064e14 100644 --- a/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml +++ b/indra/newview/skins/default/xui/en/panel_topinfo_bar.xml @@ -36,7 +36,7 @@ enabled="true" follows="right|top" height="18" - image_name="Parcel_VoiceNo_Light" + image_name="Parcel_VoiceNo_Dark" name="voice_icon" top="1" visible="false" @@ -45,7 +45,7 @@ Date: Wed, 25 Aug 2010 10:58:49 -0700 Subject: VWR-20710 : Sit anywhere, port of SG2.x SNOW-610 patch --- indra/newview/llagent.cpp | 5 +++++ indra/newview/llagent.h | 2 ++ indra/newview/llviewermenu.cpp | 23 ++++++++++++++++++---- .../skins/default/xui/en/menu_attachment_self.xml | 13 +++++++++++- .../skins/default/xui/en/menu_avatar_self.xml | 12 ++++++++++- .../default/xui/en/menu_inspect_self_gear.xml | 10 ++++++++++ 6 files changed, 59 insertions(+), 6 deletions(-) (limited to 'indra') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 42b78a84af..b78ebc6969 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -827,6 +827,11 @@ LLVector3d LLAgent::getPosGlobalFromAgent(const LLVector3 &pos_agent) const return pos_agent_d + mAgentOriginGlobal; } +void LLAgent::sitDown() +{ + setControlFlags(AGENT_CONTROL_SIT_ON_GROUND); +} + //----------------------------------------------------------------------------- // resetAxes() diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 0d95683a98..c643cef78f 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -345,6 +345,8 @@ private: //-------------------------------------------------------------------- public: void standUp(); + /// @brief ground-sit at agent's current position + void sitDown(); //-------------------------------------------------------------------- // Busy diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 476e761c28..d02e1fdc8f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3381,8 +3381,21 @@ class LLSelfStandUp : public view_listener_t bool enable_standup_self() { - bool new_value = isAgentAvatarValid() && gAgentAvatarp->isSitting(); - return new_value; + return isAgentAvatarValid() && gAgentAvatarp->isSitting(); +} + +class LLSelfSitDown : public view_listener_t + { + bool handleEvent(const LLSD& userdata) + { + gAgent.sitDown(); + return true; + } + }; + +bool enable_sitdown_self() +{ + return isAgentAvatarValid() && !gAgentAvatarp->isSitting() && !gAgent.getFlying(); } // Used from the login screen to aid in UI work on side tray @@ -8037,11 +8050,13 @@ void initialize_menus() // Admin top level view_listener_t::addMenu(new LLAdminOnSaveState(), "Admin.OnSaveState"); - // Self pie menu + // Self context menu view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp"); + enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self)); + view_listener_t::addMenu(new LLSelfSitDown(), "Self.SitDown"); + enable.add("Self.EnableSitDown", boost::bind(&enable_sitdown_self)); view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments"); - enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self)); view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments"); // we don't use boost::bind directly to delay side tray construction diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml index e2348375d5..84e81397be 100644 --- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml +++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml @@ -23,7 +23,7 @@ - + + + + + - + + + + diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index ea18e02ca1..30c2cde552 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -5,6 +5,16 @@ mouse_opaque="false" visible="false" name="Gear Menu"> + + + + Date: Thu, 26 Aug 2010 09:27:22 +0100 Subject: EXT-7901 FIXED: Follow up fix to remove short-term hack. As advertized, I have removed the short-term hack that I put in place to make release note URLs work. I have now put in place a more general and correct solution. The key observeration from Roxie is that SLE SLurls should have the same hostname as the grid host. So now, URLs like http://google.com/app are no longer categorized as a SLurl and produce errors when you click on them. --- indra/newview/llslurl.cpp | 21 +++++++++++---------- indra/newview/tests/llslurl_test.cpp | 3 +++ 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'indra') diff --git a/indra/newview/llslurl.cpp b/indra/newview/llslurl.cpp index 0308f5e632..4cf1df1655 100644 --- a/indra/newview/llslurl.cpp +++ b/indra/newview/llslurl.cpp @@ -44,7 +44,6 @@ const char* LLSLURL::SLURL_COM = "slurl.com"; // version is required also. const char* LLSLURL::WWW_SLURL_COM = "www.slurl.com"; -const char* LLSLURL::SECONDLIFE_COM = "secondlife.com"; const char* LLSLURL::MAPS_SECONDLIFE_COM = "maps.secondlife.com"; const char* LLSLURL::SLURL_X_GRID_LOCATION_INFO_SCHEME = "x-grid-location-info"; const char* LLSLURL::SLURL_APP_PATH = "app"; @@ -183,15 +182,6 @@ LLSLURL::LLSLURL(const std::string& slurl) (slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) || (slurl_uri.scheme() == LLSLURL::SLURL_X_GRID_LOCATION_INFO_SCHEME)) { - // *HACK: ignore http://secondlife.com/ URLs so that we can use - // http://secondlife.com/app/ redirect URLs - // This is only necessary while the server returns Release Note - // urls using this format rather that pointing to the wiki - if ((slurl_uri.scheme() == LLSLURL::SLURL_HTTP_SCHEME || - slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) && - slurl_uri.hostName() == LLSLURL::SECONDLIFE_COM) - return; - // We're dealing with either a Standalone style slurl or slurl.com slurl if ((slurl_uri.hostName() == LLSLURL::SLURL_COM) || (slurl_uri.hostName() == LLSLURL::WWW_SLURL_COM) || @@ -202,6 +192,17 @@ LLSLURL::LLSLURL(const std::string& slurl) } else { + // Don't try to match any old http:/// URL as a SLurl. + // SLE SLurls will have the grid hostname in the URL, so only + // match http URLs if the hostname matches the grid hostname + // (or its a slurl.com or maps.secondlife.com URL). + if ((slurl_uri.scheme() == LLSLURL::SLURL_HTTP_SCHEME || + slurl_uri.scheme() == LLSLURL::SLURL_HTTPS_SCHEME) && + slurl_uri.hostName() != LLGridManager::getInstance()->getGrid()) + { + return; + } + // As it's a Standalone grid/open, we will always have a hostname, as Standalone/open style // urls are properly formed, unlike the stinky maingrid style mGrid = slurl_uri.hostName(); diff --git a/indra/newview/tests/llslurl_test.cpp b/indra/newview/tests/llslurl_test.cpp index 753151bdd8..91f316666c 100644 --- a/indra/newview/tests/llslurl_test.cpp +++ b/indra/newview/tests/llslurl_test.cpp @@ -145,6 +145,7 @@ namespace tut ensure_equals(" slurl, region + coords", slurl.getSLURLString(), "http://maps.secondlife.com/secondlife/my%20region/1/2/3"); + LLGridManager::getInstance()->setGridChoice("my.grid.com"); slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3"); ensure_equals("grid slurl, region + coords - type", slurl.getType(), LLSLURL::LOCATION); ensure_equals("grid slurl, region + coords", slurl.getSLURLString(), @@ -201,6 +202,7 @@ namespace tut ensure_equals("region" , "myregion", slurl.getRegion()); ensure_equals("grid4", "util.aditi.lindenlab.com", slurl.getGrid()); + LLGridManager::getInstance()->setGridChoice("my.grid.com"); slurl = LLSLURL("https://my.grid.com/app/foo/bar?12345"); ensure_equals("app", slurl.getType(), LLSLURL::APP); ensure_equals("appcmd", slurl.getAppCmd(), "foo"); @@ -241,6 +243,7 @@ namespace tut template<> template<> void slurlTestObject::test<3>() { + LLGridManager::getInstance()->setGridChoice("my.grid.com"); LLSLURL slurl = LLSLURL("https://my.grid.com/region/my%20region/1/2/3"); ensure_equals("login string", slurl.getLoginString(), "uri:my region&1&2&3"); ensure_equals("location string", slurl.getLocationString(), "my region/1/2/3"); -- cgit v1.2.3 From 75a66a146b8f4b3127eb86fec10c24cc45d3f6d7 Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Thu, 26 Aug 2010 18:59:08 +0300 Subject: EXT-8727 FIXED Potential fix for a crash in LLAppearanceMgr::updateClothingOrderingInfo. I couldn't reproduce the problem (it has happened for only two users, both running MacOSX), but from what I see in the logs, it might have been caused by (or related to) NULL COF items. I haven't found out how they appear nor what exactly causes the crash, but just for any case I added a check to make sure we don't try to update wearables ordering info for such items. Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/876/ --HG-- branch : product-engine --- indra/newview/llagentwearablesfetch.cpp | 1 + indra/newview/llappearancemgr.cpp | 8 +++++++- indra/newview/llappearancemgr.h | 2 ++ indra/newview/llinventorymodel.cpp | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index f7ae320a6f..1edc96e165 100644 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -115,6 +115,7 @@ void LLInitialWearablesFetch::processContents() LLInventoryModel::cat_array_t cat_array; LLInventoryModel::item_array_t wearable_array; LLFindWearables is_wearable; + llassert_always(mComplete.size() != 0); gInventory.collectDescendentsIf(mComplete.front(), cat_array, wearable_array, LLInventoryModel::EXCLUDE_TRASH, is_wearable); diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 94286fd799..7159d89d21 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -2307,12 +2307,17 @@ bool LLAppearanceMgr::updateBaseOutfit() void LLAppearanceMgr::divvyWearablesByType(const LLInventoryModel::item_array_t& items, wearables_by_type_t& items_by_type) { - items_by_type.reserve(LLWearableType::WT_COUNT); + items_by_type.resize(LLWearableType::WT_COUNT); if (items.empty()) return; for (S32 i=0; iisWearableType()) continue; @@ -2335,6 +2340,7 @@ std::string build_order_string(LLWearableType::EType type, U32 i) struct WearablesOrderComparator { + LOG_CLASS(WearablesOrderComparator); WearablesOrderComparator(const LLWearableType::EType type) { mControlSize = build_order_string(type, 0).size(); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 78c2142ea5..c65d9dc9ee 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -42,6 +42,8 @@ class LLOutfitUnLockTimer; class LLAppearanceMgr: public LLSingleton { + LOG_CLASS(LLAppearanceMgr); + friend class LLSingleton; friend class LLOutfitUnLockTimer; diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 08229d3a50..53835f0166 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -501,7 +501,7 @@ void LLInventoryModel::collectDescendentsIf(const LLUUID& id, for(S32 i = 0; i < count; ++i) { item = item_array->get(i); - if (item->getActualType() == LLAssetType::AT_LINK_FOLDER) + if (item && item->getActualType() == LLAssetType::AT_LINK_FOLDER) { LLViewerInventoryCategory *linked_cat = item->getLinkedCategory(); if (linked_cat && linked_cat->getPreferredType() != LLFolderType::FT_OUTFIT) -- cgit v1.2.3 From 63053aad8fc15a63bbd35c38de7bdc103b7fb4ab Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Thu, 26 Aug 2010 20:30:10 -0700 Subject: VWR-20946 : fix the viewer manifest script to take the new kdu lib name into account --- indra/newview/viewer_manifest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index e963bcc9f7..4058933d9f 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -930,7 +930,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libopenal.so", "libopenal.so.1") self.path("libopenal.so", "libvivoxoal.so.1") # vivox's sdk expects this soname try: - self.path("libkdu_v42R.so", "libkdu.so") + self.path("libkdu.so") pass except: print "Skipping libkdu_v42R.so - not found" -- cgit v1.2.3 From 9d880615d1c8fee01b2528693466d48e816620db Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Thu, 26 Aug 2010 20:37:54 -0700 Subject: VWR-20946 : fix erroneous error message (broken window...) --- indra/newview/viewer_manifest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 4058933d9f..08ba8c13b1 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -933,7 +933,7 @@ class Linux_i686Manifest(LinuxManifest): self.path("libkdu.so") pass except: - print "Skipping libkdu_v42R.so - not found" + print "Skipping libkdu.so - not found" pass try: self.path("libfmod-3.75.so") -- cgit v1.2.3