From 5db02993ef806d2d73ae3e3fde89c3405132a348 Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Mon, 27 Sep 2010 20:20:09 -0400 Subject: [STORM-255] As a user I would like to disable incoming Group/IM toasts from showing up. This will also take care of STORM-221 since the person that would be affected by the toast cha now disable them. --- doc/contributions.txt | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index bcf714b29a..210deb3cb1 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -742,6 +742,12 @@ Wilton Lundquist VWR-7682 Zai Lynch VWR-19505 +Wolfpup Lowenhar + SNOW-622 + SNOW-772 + STORM-255 + VWR-20741 + VWR-20933 Zarkonnen Decosta VWR-253 Zi Ree -- cgit v1.3 From d53613b5ae7fd14da79b90b9fc65fa9938e331af Mon Sep 17 00:00:00 2001 From: Boroondas Gupte Date: Sat, 16 Oct 2010 17:11:47 +0200 Subject: VWR-23455: Don't download FMOD unless INSTALL_PROPRIETARY is TRUE --- doc/contributions.txt | 1 + indra/cmake/FMOD.cmake | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index d8dec69269..d7fdba0d3c 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -172,6 +172,7 @@ Boroondas Gupte VWR-233 VWR-20583 VWR-20891 + VWR-23455 WEB-262 Bulli Schumann CT-218 diff --git a/indra/cmake/FMOD.cmake b/indra/cmake/FMOD.cmake index 4582017bcb..fd9d5fe197 100755 --- a/indra/cmake/FMOD.cmake +++ b/indra/cmake/FMOD.cmake @@ -1,5 +1,7 @@ # -*- cmake -*- -include(Prebuilt) +if (INSTALL_PROPRIETARY) + include(Prebuilt) +endif (INSTALL_PROPRIETARY) set(FMOD_FIND_QUIETLY OFF) set(FMOD_FIND_REQUIRED OFF) @@ -7,7 +9,9 @@ set(FMOD_FIND_REQUIRED OFF) if (STANDALONE) include(FindFMOD) else (STANDALONE) - use_prebuilt_binary(fmod) + if (INSTALL_PROPRIETARY) + use_prebuilt_binary(fmod) + endif (INSTALL_PROPRIETARY) if (WINDOWS) set(FMOD_LIBRARY fmod) -- cgit v1.3 From 0f1d345e187c031ead1199c29674e93d922496cc Mon Sep 17 00:00:00 2001 From: "Boroondas Gupte (original fix by Aleric Inglewood)" Date: Sat, 16 Oct 2010 18:24:52 +0200 Subject: VWR-23459 FIXED Viewer compiled against Boost-1.42 crashes when certain command line options are given used Aleric's SG2 changeset from http://svn.secondlife.com/trac/linden/changeset/3600 patching file doc/contributions.txt Hunk #1 succeeded at 73 with fuzz 2. patching file indra/newview/llcommandlineparser.cpp Hunk #1 succeeded at 268 with fuzz 1 (offset -8 lines). Edited doc/contributions.txt to create an entry for Aleric and moved the issue ID there (patch wasn't able to place it at the right position, lacking any context). --- doc/contributions.txt | 2 ++ indra/newview/llcommandlineparser.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index d14e97644f..fb9ba82e57 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -13,6 +13,8 @@ Aimee Trescothick VWR-4803 Alejandro Rosenthal VWR-1184 +Aleric Inglewood + SNOW-626 Alissa Sabre VWR-81 VWR-83 diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp index 2f99ca1247..c7359a8865 100644 --- a/indra/newview/llcommandlineparser.cpp +++ b/indra/newview/llcommandlineparser.cpp @@ -267,7 +267,11 @@ bool parseAndStoreResults(po::command_line_parser& clp) { clp.options(gOptionsDesc); clp.positional(gPositionalOptions); - clp.style(po::command_line_style::default_style + // SNOW-626: Boost 1.42 erroneously added allow_guessing to the default style + // (see http://groups.google.com/group/boost-list/browse_thread/thread/545d7bf98ff9bb16?fwc=2&pli=1) + // Remove allow_guessing from the default style, because that is not allowed + // when we have options that are a prefix of other options (aka, --help and --helperuri). + clp.style((po::command_line_style::default_style & ~po::command_line_style::allow_guessing) | po::command_line_style::allow_long_disguise); po::basic_parsed_options opts = clp.run(); po::store(opts, gVariableMap); -- cgit v1.3 From e44b548704d8dbdaea59ceaea08015499a2bf623 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Tue, 19 Oct 2010 17:48:35 -0700 Subject: STORM-281 : Fix Map FOV frustum when UI size not equal to 1 --- doc/contributions.txt | 2 ++ indra/newview/llworldmapview.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index bcf714b29a..46dc2c0070 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -381,6 +381,8 @@ Malwina Dollinger CT-138 march Korda SVC-1020 +Marine Kelley + STORM-281 Matthew Dowd VWR-1344 VWR-1651 diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 0c17b5e297..620c8fe82d 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -880,8 +880,10 @@ void LLWorldMapView::drawFrustum() F32 half_width_meters = far_clip_meters * tan( horiz_fov / 2 ); F32 half_width_pixels = half_width_meters * meters_to_pixels; - F32 ctr_x = getLocalRect().getWidth() * 0.5f + sPanX; - F32 ctr_y = getLocalRect().getHeight() * 0.5f + sPanY; + // Compute the frustum coordinates. Take the UI scale into account. + F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor"); + F32 ctr_x = (getLocalRect().getWidth() * 0.5f + sPanX) * ui_scale_factor; + F32 ctr_y = (getLocalRect().getHeight() * 0.5f + sPanY) * ui_scale_factor; gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -- cgit v1.3 From 243210e0ab0bc1454bcbb3a5325fec199737a7c3 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Wed, 20 Oct 2010 20:26:47 +0300 Subject: STORM-419 FIXED ' is used uninitialized in this function in lldarray.h Author: Robin Cornelius Ported by: Techwolf Lupindo Reviewed by: Merov Linden --- doc/contributions.txt | 2 ++ indra/llcommon/lldarray.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index bcf714b29a..256640126f 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -529,6 +529,7 @@ Pf Shan CT-230 CT-231 CT-321 + SNOW-422 princess niven VWR-5733 CT-85 @@ -643,6 +644,7 @@ Strife Onizuka VWR-183 VWR-2265 VWR-4111 + SNOW-691 Tayra Dagostino SNOW-517 SNOW-543 diff --git a/indra/llcommon/lldarray.h b/indra/llcommon/lldarray.h index a8cd03b42a..131b819c99 100644 --- a/indra/llcommon/lldarray.h +++ b/indra/llcommon/lldarray.h @@ -51,7 +51,7 @@ public: LLDynamicArray(S32 size=0) : std::vector(size) { if (size < BlockSize) std::vector::reserve(BlockSize); } - void reset() { std::vector::resize(0); } + void reset() { std::vector::clear(); } // ACCESSORS const Type& get(S32 index) const { return std::vector::operator[](index); } -- cgit v1.3 From b3f3fb60999033a7a100102d563e66eaaa876fa3 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Wed, 20 Oct 2010 21:23:27 +0300 Subject: STORM-417 FIXED Port of SNOW-140 to SG 2.0 : Forced updates not working on Mac The point of this patch is to make the Mac updater code a bit more flexible and reliable than it is right now. The issue is double: * reliability: the string comparison code on the bundle identifier is not UTF8 compliant * flexibility: the bundle identifier is hard coded to match the bundle identifier of LL viewer (i.e. com.secondlife.indra.viewer) so it can't work for another viewer (in particular, it didn't work for Snowglobe). The "bundle identifier" is one of those Mac only thing stored in the Info.plist of a "bundle" (the ".app" folder that's bundling an executable and all its resources and is seen as an application when browsing with the Mac OS X Finder). The patch fixes both issues: * compare correctly UTF8 encoded strings * allow the bundle ID to be passed as a parameter to the updater The patch has really no consequence on LL viewer. It's more a matter of having cleaner, better code. Author: Cypren Christenson Ported and reviewed by: Merov Linden --- doc/contributions.txt | 2 ++ indra/llcommon/llversionviewer.h | 4 ++++ indra/mac_updater/mac_updater.cpp | 20 ++++++++++++++++++-- indra/newview/llappviewer.cpp | 3 +++ 4 files changed, 27 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index bcf714b29a..918f68cb99 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -202,6 +202,8 @@ Catherine Pfeffer Celierra Darling VWR-1274 VWR-6975 +Cypren Christenson + STORM-417 Dale Glass VWR-120 VWR-560 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 9391aed8a1..b209e4aa38 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -34,4 +34,8 @@ const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; +#if LL_DARWIN +const char * const LL_VERSION_BUNDLE_ID = "com.secondlife.snowglobe.viewer"; +#endif + #endif diff --git a/indra/mac_updater/mac_updater.cpp b/indra/mac_updater/mac_updater.cpp index e4d100d1ec..23980ffac2 100644 --- a/indra/mac_updater/mac_updater.cpp +++ b/indra/mac_updater/mac_updater.cpp @@ -61,6 +61,7 @@ Boolean gCancelled = false; const char *gUpdateURL; const char *gProductName; +const char *gBundleID; void *updatethreadproc(void*); @@ -329,6 +330,10 @@ int parse_args(int argc, char **argv) { gProductName = argv[j]; } + else if ((!strcmp(argv[j], "-bundleid")) && (++j < argc)) + { + gBundleID = argv[j]; + } } return 0; @@ -355,6 +360,7 @@ int main(int argc, char **argv) // gUpdateURL = NULL; gProductName = NULL; + gBundleID = NULL; parse_args(argc, argv); if (!gUpdateURL) { @@ -372,6 +378,14 @@ int main(int argc, char **argv) { gProductName = "Second Life"; } + if (gBundleID) + { + llinfos << "Bundle ID is: " << gBundleID << llendl; + } + else + { + gBundleID = "com.secondlife.indra.viewer"; + } } llinfos << "Starting " << gProductName << " Updater" << llendl; @@ -592,7 +606,8 @@ static bool isFSRefViewerBundle(FSRef *targetRef) CFURLRef targetURL = NULL; CFBundleRef targetBundle = NULL; CFStringRef targetBundleID = NULL; - + CFStringRef sourceBundleID = NULL; + targetURL = CFURLCreateFromFSRef(NULL, targetRef); if(targetURL == NULL) @@ -619,7 +634,8 @@ static bool isFSRefViewerBundle(FSRef *targetRef) } else { - if(CFStringCompare(targetBundleID, CFSTR("com.secondlife.indra.viewer"), 0) == kCFCompareEqualTo) + sourceBundleID = CFStringCreateWithCString(NULL, gBundleID, kCFStringEncodingUTF8); + if(CFStringCompare(sourceBundleID, targetBundleID, 0) == kCFCompareEqualTo) { // This is the bundle we're looking for. result = true; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index ba14c248aa..931b9fd2f3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -30,6 +30,7 @@ // Viewer includes #include "llversioninfo.h" +#include "llversionviewer.h" #include "llfeaturemanager.h" #include "lluictrlfactory.h" #include "lltexteditor.h" @@ -4513,6 +4514,8 @@ void LLAppViewer::launchUpdater() LLAppViewer::sUpdaterInfo->mUpdateExePath += update_url.asString(); LLAppViewer::sUpdaterInfo->mUpdateExePath += "\" -name \""; LLAppViewer::sUpdaterInfo->mUpdateExePath += LLAppViewer::instance()->getSecondLifeTitle(); + LLAppViewer::sUpdaterInfo->mUpdateExePath += "\" -bundleid \""; + LLAppViewer::sUpdaterInfo->mUpdateExePath += LL_VERSION_BUNDLE_ID; LLAppViewer::sUpdaterInfo->mUpdateExePath += "\" &"; LL_DEBUGS("AppInit") << "Calling updater: " << LLAppViewer::sUpdaterInfo->mUpdateExePath << LL_ENDL; -- cgit v1.3 From 755fdfb25fe06e35219f6bffcaf929f8dd7e1051 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Wed, 20 Oct 2010 14:59:39 -0700 Subject: STORM-423: fix raw file association in strings.xml --- doc/contributions.txt | 1 + indra/newview/skins/default/xui/da/strings.xml | 2 +- indra/newview/skins/default/xui/de/strings.xml | 2 +- indra/newview/skins/default/xui/en/strings.xml | 2 +- indra/newview/skins/default/xui/es/strings.xml | 2 +- indra/newview/skins/default/xui/fr/strings.xml | 2 +- indra/newview/skins/default/xui/it/strings.xml | 2 +- indra/newview/skins/default/xui/ja/strings.xml | 2 +- indra/newview/skins/default/xui/nl/strings.xml | 2 +- indra/newview/skins/default/xui/pl/strings.xml | 2 +- indra/newview/skins/default/xui/pt/strings.xml | 2 +- 11 files changed, 11 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index bcf714b29a..5583614727 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -71,6 +71,7 @@ Aleric Inglewood VWR-13996 VWR-14426 SNOW-84 + SNOW-477 SNOW-766 STORM-163 Ales Beaumont diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index 9f4119e73b..afd933c7fa 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -774,7 +774,7 @@ XML Fil - + RAW Fil diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index ae2991df45..afcb68f537 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -798,7 +798,7 @@ XML-Datei - + RAW-Datei diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index bee0e4fde6..403d976350 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -338,7 +338,7 @@ AVI Movie File XAF Anim File XML File - RAW File + RAW File Compressed Images Load Files Choose Directory diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index ac12b700ee..5fa3d54de2 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -777,7 +777,7 @@ Archivo XML - + Archivo RAW diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml index a7a766f6a6..af70048106 100644 --- a/indra/newview/skins/default/xui/fr/strings.xml +++ b/indra/newview/skins/default/xui/fr/strings.xml @@ -798,7 +798,7 @@ Fichier XML - + Fichier RAW diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 4fc0d19199..9dbfc2b79c 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -783,7 +783,7 @@ File XML - + File RAW diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 072ae6c630..92bbedaee5 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -798,7 +798,7 @@ XML ファイル - + RAW ファイル diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml index 1ee26c3f24..844945913f 100644 --- a/indra/newview/skins/default/xui/nl/strings.xml +++ b/indra/newview/skins/default/xui/nl/strings.xml @@ -665,7 +665,7 @@ XML bestand - + RAW bestand diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index c9fe22f3c8..e355bdbb96 100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -774,7 +774,7 @@ Plik XML - + Plik RAW diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 2247b0a76b..800ad479fc 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -777,7 +777,7 @@ Arquivo XML - + Arquivo RAW -- cgit v1.3 From b011305d3ffd9009ac1b6fcfe5ea6407ae507442 Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Tue, 26 Oct 2010 08:41:30 -0400 Subject: Addtition of Alexandrea Fride to contributions.text --- doc/contributions.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index e160c996b9..92809447d4 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -78,6 +78,8 @@ Aleric Inglewood Ales Beaumont VWR-9352 SNOW-240 +Alexandrea Fride + STORM-255 Alissa Sabre VWR-81 VWR-83 -- cgit v1.3 From 46940d4a5f9e6b0d19b5e6bacd84c4f7bc89eba3 Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Wed, 27 Oct 2010 22:27:59 -0400 Subject: STORM-255: removal if extra jira numbers in contributions.txt --- doc/contributions.txt | 4 ---- 1 file changed, 4 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 9b14187780..f4dc6cfbe4 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -755,11 +755,7 @@ Wilton Lundquist Zai Lynch VWR-19505 Wolfpup Lowenhar - SNOW-622 - SNOW-772 STORM-255 - VWR-20741 - VWR-20933 Zarkonnen Decosta VWR-253 Zi Ree -- cgit v1.3 From dafece369a796bc1501246c45008ddb9e4ccb765 Mon Sep 17 00:00:00 2001 From: Wolfpup Lowenhar Date: Fri, 29 Oct 2010 09:16:51 -0400 Subject: STORM-255 : Added missing JIRA issue to contributions.txt --- doc/contributions.txt | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index f4dc6cfbe4..6c20e2c177 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -756,6 +756,7 @@ Zai Lynch VWR-19505 Wolfpup Lowenhar STORM-255 + STORM-256 Zarkonnen Decosta VWR-253 Zi Ree -- cgit v1.3 From 463969116fa64c6f90cd7eb455e2432db375d359 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 29 Oct 2010 23:48:46 +0300 Subject: STORM-501 FIXED Script-editor shows ERRORS in the wrong line. LLTextBase::setCursor() sometimes failed to work properly if line wrapping was enabled. This is a slightly optimized version of the patch made by Satomi Ahn. --- doc/contributions.txt | 2 ++ indra/llui/lltextbase.cpp | 34 +++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index ee2dea7344..b3d30c3a54 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -594,6 +594,8 @@ Salahzar Stenvaag CT-321 Sammy Frederix VWR-6186 +Satomi Ahn + STORM-501 Scrippy Scofield VWR-3748 Seg Baphomet diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 758df418e8..5721df6b36 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -2214,19 +2214,39 @@ bool LLTextBase::scrolledToEnd() return mScroller->isAtBottom(); } - bool LLTextBase::setCursor(S32 row, S32 column) { - if (0 <= row && row < (S32)mLineInfoList.size()) + if (row < 0 || column < 0) return false; + + S32 n_lines = mLineInfoList.size(); + for (S32 line = row; line < n_lines; ++line) { - S32 doc_pos = mLineInfoList[row].mDocIndexStart; - column = llclamp(column, 0, mLineInfoList[row].mDocIndexEnd - mLineInfoList[row].mDocIndexStart - 1); - doc_pos += column; - updateCursorXPos(); + const line_info& li = mLineInfoList[line]; + + if (li.mLineNum < row) + { + continue; + } + else if (li.mLineNum > row) + { + break; // invalid column specified + } + + // Found the given row. + S32 line_length = li.mDocIndexEnd - li.mDocIndexStart;; + if (column >= line_length) + { + column -= line_length; + continue; + } + // Found the given column. + updateCursorXPos(); + S32 doc_pos = li.mDocIndexStart + column; return setCursorPos(doc_pos); } - return false; + + return false; // invalid row or column specified } -- cgit v1.3 From 398b8564e19deacc27a631e4668b00ed4a6ffe12 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 29 Oct 2010 15:42:29 -0700 Subject: STORM-420 : allow teleport when double clicking the minimap if doubleclick teleport is on, allow beacon setting if not --- doc/contributions.txt | 2 ++ indra/newview/llfloatermap.cpp | 30 ++++++++++++++++++++++++++---- indra/newview/llnetmap.h | 2 ++ 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index ee2dea7344..09f0f1ae8a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -127,6 +127,7 @@ Alissa Sabre VWR-12617 VWR-12620 VWR-12789 + SNOW-322 Angus Boyd VWR-592 Ann Congrejo @@ -143,6 +144,7 @@ Asuka Neely Balp Allen VWR-4157 Be Holder + SNOW-322 SNOW-397 Benja Kepler VWR-746 diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp index a1d291fea6..8a48265313 100644 --- a/indra/newview/llfloatermap.cpp +++ b/indra/newview/llfloatermap.cpp @@ -43,6 +43,8 @@ #include "lldraghandle.h" #include "lltextbox.h" #include "llviewermenu.h" +#include "llfloaterworldmap.h" +#include "llagent.h" // // Constants @@ -122,11 +124,31 @@ BOOL LLFloaterMap::postBuild() return TRUE; } -BOOL LLFloaterMap::handleDoubleClick( S32 x, S32 y, MASK mask ) +BOOL LLFloaterMap::handleDoubleClick(S32 x, S32 y, MASK mask) { - // If floater is minimized, minimap should be shown on doubleclick (STORM-299) - std::string floater_to_show = this->isMinimized() ? "mini_map" : "world_map"; - LLFloaterReg::showInstance(floater_to_show); + LLVector3d pos_global = mMap->viewPosToGlobal(x, y); + + // If we're not tracking a beacon already, double-click will set one + if (!LLTracker::isTracking(NULL)) + { + LLFloaterWorldMap* world_map = LLFloaterWorldMap::getInstance(); + if (world_map) + { + world_map->trackLocation(pos_global); + } + } + + if (gSavedSettings.getBOOL("DoubleClickTeleport")) + { + // If DoubleClickTeleport is on, double clicking the minimap will teleport there + gAgent.teleportViaLocationLookAt(pos_global); + } + else + { + // If floater is minimized, minimap should be shown on doubleclick (STORM-299) + std::string floater_to_show = this->isMinimized() ? "mini_map" : "world_map"; + LLFloaterReg::showInstance(floater_to_show); + } return TRUE; } diff --git a/indra/newview/llnetmap.h b/indra/newview/llnetmap.h index 650bce0da4..e053b1c177 100644 --- a/indra/newview/llnetmap.h +++ b/indra/newview/llnetmap.h @@ -38,6 +38,7 @@ class LLColor4U; class LLCoordGL; class LLImageRaw; class LLViewerTexture; +class LLFloaterMap; class LLNetMap : public LLUICtrl { @@ -55,6 +56,7 @@ public: protected: LLNetMap (const Params & p); friend class LLUICtrlFactory; + friend class LLFloaterMap; public: virtual ~LLNetMap(); -- cgit v1.3 From 5d7417b40ed8717b3f307ed9e53c249a3a26cf1b Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 2 Nov 2010 20:26:38 +0200 Subject: STORM-422 FIXED Added command line option "-disablecrashlogger" to disable crash logger. This is a patch originally written by Robin Cornelius. I made it work with Google Breakpad. --- doc/contributions.txt | 1 + indra/llcommon/llapp.cpp | 32 ++++++++++++++++++++++++++++++++ indra/llcommon/llapp.h | 6 ++++++ indra/newview/app_settings/cmd_line.xml | 8 ++++++++ indra/newview/llappviewer.cpp | 14 ++++++++++++++ 5 files changed, 61 insertions(+) (limited to 'doc') diff --git a/doc/contributions.txt b/doc/contributions.txt index 2ca5adc643..21c60ea362 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -573,6 +573,7 @@ Robin Cornelius SNOW-585 SNOW-599 SNOW-747 + STORM-422 VWR-2488 VWR-9557 VWR-11128 diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp index eebd5ed0a6..39daefd1ad 100644 --- a/indra/llcommon/llapp.cpp +++ b/indra/llcommon/llapp.cpp @@ -90,6 +90,10 @@ S32 LL_HEARTBEAT_SIGNAL = (SIGRTMAX >= 0) ? (SIGRTMAX-0) : SIGUSR2; // the static application instance LLApp* LLApp::sApplication = NULL; +// Allows the generation of core files for post mortem under gdb +// and disables crashlogger +BOOL LLApp::sDisableCrashlogger = FALSE; + // Local flag for whether or not to do logging in signal handlers. //static BOOL LLApp::sLogInSignal = FALSE; @@ -461,11 +465,30 @@ bool LLApp::isQuitting() return (APP_STATUS_QUITTING == sStatus); } +// static bool LLApp::isExiting() { return isQuitting() || isError(); } +void LLApp::disableCrashlogger() +{ + // Disable Breakpad exception handler. + if (mExceptionHandler != 0) + { + delete mExceptionHandler; + mExceptionHandler = 0; + } + + sDisableCrashlogger = TRUE; +} + +// static +bool LLApp::isCrashloggerDisabled() +{ + return (sDisableCrashlogger == TRUE); +} + #if !LL_WINDOWS // static U32 LLApp::getSigChildCount() @@ -799,6 +822,15 @@ void default_unix_signal_handler(int signum, siginfo_t *info, void *) { llwarns << "Signal handler - Flagging error status and waiting for shutdown" << llendl; } + + if (LLApp::isCrashloggerDisabled()) // Don't gracefully handle any signal, crash and core for a gdb post mortem + { + clear_signals(); + llwarns << "Fatal signal received, not handling the crash here, passing back to operating system" << llendl; + raise(signum); + return; + } + // Flag status to ERROR, so thread_error does its work. LLApp::setError(); // Block in the signal handler until somebody says that we're done. diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h index ee1d696829..a536a06ea5 100644 --- a/indra/llcommon/llapp.h +++ b/indra/llcommon/llapp.h @@ -189,6 +189,11 @@ public: // virtual bool mainLoop() = 0; // Override for the application main loop. Needs to at least gracefully notice the QUITTING state and exit. + // + // Crash logging + // + void disableCrashlogger(); // Let the OS handle the crashes + static bool isCrashloggerDisabled(); // Get the here above set value // // Application status @@ -280,6 +285,7 @@ protected: static void setStatus(EAppStatus status); // Use this to change the application status. static EAppStatus sStatus; // Reflects current application status static BOOL sErrorThreadRunning; // Set while the error thread is running + static BOOL sDisableCrashlogger; // Let the OS handle crashes for us. #if !LL_WINDOWS static LLAtomicU32* sSigChildCount; // Number of SIGCHLDs received. diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml index 00d69f805e..ba3b6a42a4 100644 --- a/indra/newview/app_settings/cmd_line.xml +++ b/indra/newview/app_settings/cmd_line.xml @@ -391,5 +391,13 @@ CrashOnStartup + disablecrashlogger + + desc + Disables the crash logger and lets the OS handle crashes + map-to + DisableCrashLogger + + diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 931b9fd2f3..b17e4d77d5 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2020,6 +2020,15 @@ bool LLAppViewer::initConfiguration() // - apply command line settings clp.notify(); + // Register the core crash option as soon as we can + // if we want gdb post-mortem on cores we need to be up and running + // ASAP or we might miss init issue etc. + if(clp.hasOption("disablecrashlogger")) + { + llwarns << "Crashes will be handled by system, stack trace logs and crash logger are both disabled" << llendl; + LLAppViewer::instance()->disableCrashlogger(); + } + // Handle initialization from settings. // Start up the debugging console before handling other options. if (gSavedSettings.getBOOL("ShowConsoleWindow")) @@ -2596,6 +2605,11 @@ void LLAppViewer::handleViewerCrash() abort(); } + if (LLApp::isCrashloggerDisabled()) + { + abort(); + } + // Returns whether a dialog was shown. // Only do the logic in here once if (pApp->mReportedCrash) -- cgit v1.3