Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-11 | SL-10297: Move LL_ERRS crash location into the LL_ERRS macro itself. | Nat Goodspeed | |
Introduce Oz's LLERROR_CRASH macro analogous to the old LLError::crashAndLoop() function. Change LL_ENDL macro so that, after calling flush(), if the CallSite is for LEVEL_ERROR, we invoke LLERROR_CRASH right there. Change the meaning of LLError::FatalFunction. It used to be responsible for the actual crash (hence crashAndLoop()). Now, instead, its role is to disrupt control flow in some other way if you DON'T want to crash: throw an exception, or call exit() or some such. Any FatalFunction that returns normally will fall into the new crash in LL_ENDL. Accordingly, the new default FatalFunction is a no-op lambda. This eliminates the need to test for empty (not set) FatalFunction in Log::flush(). Remove LLError::crashAndLoop() because the official LL_ERRS crash is now in LL_ENDL. One of the two common use cases for setFatalFunction() used to be to intercept control in the last moments before crashing -- not to crash or to avoid crashing, but to capture the LL_ERRS message in some way. Especially when that's temporary, though (e.g. LLLeap), saving and restoring the previous FatalFunction only works when the lifespans of the relevant objects are strictly LIFO. Either way, that's a misuse of FatalFunction. Fortunately the Recorder mechanism exactly addresses that case. Introduce a GenericRecorder template subclass, with LLError::addGenericRecorder(callable) that accepts a callable with suitable (level, message) signature, instantiates a GenericRecorder, adds it to the logging machinery and returns the RecorderPtr for possible later use with removeRecorder(). Change llappviewer.cpp's errorCallback() to an addGenericRecorder() callable. Its role was simply to update gDebugInfo["FatalMessage"] with the LL_ERRS message, then call writeDebugInfo(), before calling crashAndLoop() to finish crashing. Remove the crashAndLoop() call, retaining the gDebugInfo logic. Pass errorCallback() to LLError::addGenericRecorder() instead of setFatalFunction(). Oddly, errorCallback()'s crashAndLoop() call was conditional on a compile-time SHADER_CRASH_NONFATAL symbol. The new mechanism provides no way to support SHADER_CRASH_NONFATAL -- it is a Bad Idea to return normally from any LL_ERRS invocation! Rename LLLeapImpl::fatalFunction() to onError(). Instead of passing it to LLError::setFatalFunction(), pass it to addGenericRecorder(). Capture the returned RecorderPtr in mRecorder, replacing mPrevFatalFunction. Then ~LLLeapImpl() calls removeRecorder(mRecorder) instead of restoring mPrevFatalFunction (which, as noted above, was order-sensitive). Of course, every enabled Recorder is called with every log message. onError() and errorCallback() must specifically test for calls with LEVEL_ERROR. LLSingletonBase::logerrs() used to call LLError::getFatalFunction(), check the return and call it if non-empty, else call LLError::crashAndLoop(). Replace all that with LLERROR_CRASH. Remove from llappviewer.cpp the watchdog_llerrs_callback() and watchdog_killer_callback() functions. watchdog_killer_callback(), passed to Watchdog::init(), used to setFatalFunction(watchdog_llerrs_callback) and then invoke LL_ERRS() -- which seems a bit roundabout. watchdog_llerrs_callback(), in turn, replicated much of the logic in the primary errorCallback() function before replicating the crash from llwatchdog.cpp's default_killer_callback(). Instead, pass LLWatchdog::init() a lambda that invokes the LL_ERRS() message formerly found in watchdog_killer_callback(). It no longer needs to override FatalFunction with watchdog_llerrs_callback() because errorCallback() will still be called as a Recorder, obviating watchdog_llerrs_callback()'s first half; and LL_ENDL will handle the crash, obviating the second half. Remove from llappviewer.cpp the static fast_exit() function, which was simply an alias for _exit() acceptable to boost::bind(). Use a lambda directly calling _exit() instead of using boost::bind() at all. In the CaptureLog class in llcommon/tests/wrapllerrs.h, instead of statically referencing the wouldHaveCrashed() function from test.cpp, simply save and restore the current FatalFunction across the LLError::saveAndResetSettings() call. llerror_test.cpp calls setFatalFunction(fatalCall), where fatalCall() was a function that simply set a fatalWasCalled bool rather than actually crashing in any way. Of course, that implementation would now lead to crashing the test program. Make fatalCall() throw a new FatalWasCalled exception. Introduce a CATCH(LL_ERRS("tag"), "message") macro that expands to: LL_ERRS("tag") << "message" << LL_ENDL; within a try/catch block that catches FatalWasCalled and sets the same bool. Change all existing LL_ERRS() in llerror_test.cpp to corresponding CATCH() calls. In fact there's also an LL_DEBUGS(bad tag) invocation that exercises an LL_ERRS internal to llerror.cpp; wrap that too. | |||
2021-05-12 | SL-15168 Added 'Title' argument | Andrey Kleshchev | |
2021-05-12 | Revert "SL-15168 Changed format" | Andrey Kleshchev | |
2021-05-11 | Merge branch 'DRTVWR-531' into DRTVWR-516-maint | Andrey Lihatskiy | |
2021-05-11 | SL-15249 Fix MAC build issue | Andrey Kleshchev | |
2021-05-11 | SL-15249 FIXED The F1 key does not close the guidebook after clicking a link | Mnikolenko Productengine | |
2021-05-11 | SL-15245 Multiple guide books open, but cannot close them all | Andrey Kleshchev | |
"how_to" floater is supposed to be single instance | |||
2021-05-11 | SL-15168 Improved uri recognition | Andrey Kleshchev | |
2021-05-11 | SL-15168 Reset title of guidebook when opening | Andrey Kleshchev | |
2021-05-11 | SL-15168 Changed format | Andrey Kleshchev | |
instead of an url function takes an uri | |||
2021-05-11 | SL-15168 Reorginized contants | Andrey Kleshchev | |
2021-05-10 | SL-15168 Mac build fix | Andrey Kleshchev | |
2021-05-06 | SL-15168 Viewer side functionality for guidebook window opening #2 | Andrey Kleshchev | |
2021-05-06 | SL-15168 Viewer side functionality for guidebook window opening | Andrey Kleshchev | |
2021-05-01 | Follow-up merge conflict fix | Andrey Lihatskiy | |
2021-04-30 | SL-13395 Don't hide empty outfit folders | Andrey Kleshchev | |
Outfit folders can be created, managed and deleted by users, they should stay visible | |||
2021-04-29 | Expose the flag to turn automatic VAD on and off. We will likely keep it ↵ | Callum Prentice | |
off since that appears to be working well for us but others may want to turn in on | |||
2021-04-29 | Merge remote-tracking branch 'origin/master' into DRTVWR-531 | Callum Prentice | |
2021-04-29 | Merge remote-tracking branch 'origin/master' into DRTVWR-533 | Callum Prentice | |
2021-04-29 | restored SL-14027 (merge conflict) | Andrey Kleshchev | |
2021-04-29 | Merge master (DRTVWR-515) into DRTVWR-516-maint | Andrey Kleshchev | |
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/llcommon/llcoros.cpp # indra/llmessage/llcoproceduremanager.cpp # indra/newview/llfloaterfixedenvironment.cpp # indra/newview/llfloaterimsessiontab.cpp | |||
2021-04-29 | Merge master into DV525-merge-6.4.19 | Dave Houlton | |
2021-04-29 | Merge branch 'master' into DRTVWR-518-ui | Andrey Lihatskiy | |
# Conflicts: # indra/newview/llfloaterfixedenvironment.cpp # indra/newview/skins/default/xui/en/strings.xml | |||
2021-04-29 | Increment viewer version to 6.4.19 | Nat Goodspeed | |
following promotion of DRTVWR-515 | |||
2021-04-28 | After a small but successful test at our standup, we're going to make the ↵ | Callum Prentice | |
default value for the VAD sensitivity 0 (off). The settings can all still be changed via Debug variables but this seems like a sensible starting point for the next test. | |||
2021-04-28 | SL-15181 Crash at LLSkinningUtil::initSkinningMatrixPalette | Andrey Kleshchev | |
2021-04-28 | SL-15174 set Starting Guidebook location on-screen | Mnikolenko Productengine | |
2021-04-23 | SL-14842 Tooltip for clear history | Andrey Kleshchev | |
2021-04-23 | SL-14956 Fix landmarks sometimes staying in mLoadedCallbackMap #2 | Andrey Kleshchev | |
Improved fix | |||
2021-04-23 | SL-15144 FIXED The "Remove" button is enabled with no selection | Mnikolenko Productengine | |
2021-04-22 | SL-14842 Clear history should be it's own button | Andrey Kleshchev | |
2021-04-22 | Merge branch 'SL-14862' into DRTVWR-518-ui | Andrey Lihatskiy | |
# Conflicts: # indra/newview/llstartup.cpp | |||
2021-04-21 | SL-14956 Fix landmarks sometimes staying in mLoadedCallbackMap | Andrey Kleshchev | |
2021-04-21 | SL-15072 update. Values for VAD settings now stored in debug settings. ↵ | Callum Prentice | |
Request successfully sent at startup and also, whenever a relevant debug setting is changed. Going to send this build to Brett to test | |||
2021-04-21 | SL-15152 Crashfix: Do not update environments when quiting | Andrey Kleshchev | |
2021-04-21 | SL-14842 Landmarks created by '+' menu always starting in favorites | Andrey Kleshchev | |
2021-04-21 | SL-15028 Update GuidebookURL setting | Mnikolenko Productengine | |
2021-04-21 | Revert "SL-12475 add Inventory Favorites tab" | Mnikolenko Productengine | |
2021-04-21 | Revert "SL-14633 FIXED The item from the favorite tab in the inventory ↵ | Mnikolenko Productengine | |
floater can be purged" | |||
2021-04-21 | Revert "SL-14632 FIXED The viewer is crashed after deleting the new favorite ↵ | Mnikolenko Productengine | |
folder" | |||
2021-04-20 | Move location where we call function to setup VAD but didn't help | Callum Prentice | |
2021-04-20 | SL-15072: First part of adding ability to disable the VIVOX auto VAD feature ↵ | Callum Prentice | |
and set our own values via Debug Settings - hardcoded currently for testing but will be pulled from global settings eventually | |||
2021-04-21 | SL-14842 Clear history button was in wrong menu | Andrey Kleshchev | |
2021-04-20 | SL-14906 Fix LLFloaterHowTo overriding stored position | Andrey Kleshchev | |
preferred_media_size was repositioning the floater | |||
2021-04-20 | Merge branch 'SL-14999' into DRTVWR-516-maint | Andrey Lihatskiy | |
2021-04-20 | SL-15028 Update menu items on the login screen | Mnikolenko Productengine | |
2021-04-16 | SL-15096: Merge SovereignEngineer's fix for SL-14035 regression | Ptolemy | |
2021-04-17 | SL-14906 More adjustments to guidebook | Andrey Kleshchev | |
The Guidebook should remember it's open/closed state between sessions. The Guidebook button should show as pressed while the Guidebook is open. | |||
2021-04-16 | SL-13395 Allow creating outfit folders under My Outfits | Andrey Kleshchev | |
2021-04-16 | SL-15028 Move guidebook code into own flaoter | Andrey Kleshchev | |
To help with dispatcher and unify code |