summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2016-08-29Automated merge with ssh://bitbucket.org/lindenlab/viewer-vlcNat Goodspeed
2016-08-26MAINT-5011: Add top-level exception handlers in LLAppViewer::frame().Nat Goodspeed
2016-08-26MAINT-5011: Fix misleading indentation in WINMAIN().Nat Goodspeed
2016-08-20MAINT-6663 [Win LibVLC] test video buttons still appearing in searchAndreyL ProductEngine
2016-08-18MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.Nat Goodspeed
Wrap coroutine call in try/catch in top-level coroutine wrapper function LLCoros::toplevel(). Distinguish exception classes derived from LLContinueError (log and continue) from all others (crash with LL_ERRS). Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros to accept a context string to supplement the log message. This lets us replace many places that called boost::current_exception_diagnostic_information() with LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to log supplemental information. Provide supplemental information (coroutine name, function parameters) for some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information duplicates LL_DEBUGS() information at the top of these functions, but in a typical log file we wouldn't see the LL_DEBUGS() message. Eliminate a few catch (std::exception e) clauses: the information we get from boost::current_exception_diagnostic_information() in a catch (...) clause makes it unnecessary to distinguish. In a few cases, add a final 'throw;' to a catch (...) clause: having logged the local context info, propagate the exception to be caught by higher-level try/catch. In a couple places, couldn't resist reconciling indentation within a particular function: tabs where the rest of the function uses tabs, spaces where the rest of the function uses spaces. In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an array of rewritten URIs that date back to a long-deleted implementation.
2016-08-17MAINT-5011: Try to enrich catch (...) logging throughout viewer.Nat Goodspeed
Turns out we have a surprising number of catch (...) clauses in the viewer code base. If all we currently do is LL_ERRS() << "unknown exception" << LL_ENDL; then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is LL_WARNS() << "unknown exception" << LL_ENDL; then call LOG_UNHANDLED_EXCEPTION() instead. Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches LLContinueError yet, eliminate LLContinueError& parameter from LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level. Where a catch (...) clause actually provides contextual information, or makes an error string, add boost::current_exception_diagnostic_information() to try to figure out actual exception class and message.
2016-08-17Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-08-17MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION().Nat Goodspeed
A level of preprocessor indirection lets us later change the implementation if desired.
2016-08-11merge changes for 4.0.7-releaseOz Linden
2016-08-11increment viewer version to 4.0.8Oz Linden
2016-08-01MAINT-6460 getMeshSize crashandreykproductengine
2016-08-01MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-08-01Backed out changeset: c21a7e6d9796andreykproductengine
2016-07-27increment version number to 4.1.1Oz Linden
2016-07-25MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-25Remove unncessary Y flipCallum Prentice
2016-07-22Polish web content floater - rename to reflect it now does all media. remove ↵Callum Linden
developer options when Develop menu closed. start at google home page by default.
2016-07-22More Y flip madness - 2D media on OS X is has flipped Y mouse coords but ↵Callum Linden
correct on 3D/MOAP - reluctantly adding per platform switch
2016-07-21First pass at enabling time based media (videos) scrubbing controlsCallum Linden
2016-07-20MAINT-6578 Broken texture batching - fixed along with misc LibVLC plugin ↵Callum Linden
additions (status, titles, looping)
2016-07-19MAINT-5011: Introduce LLException base class for viewer exceptions.Nat Goodspeed
This also introduces LLContinueError for exceptions which should interrupt some part of viewer processing (e.g. the current coroutine) but should attempt to let the viewer session proceed. Derive all existing viewer exception classes from LLException rather than from std::runtime_error or std::logic_error. Use BOOST_THROW_EXCEPTION() rather than plain 'throw' to enrich the thrown exception with source file, line number and containing function.
2016-07-19DRTVWR-418: Remove rogue getMessage() from llsecapi.h exceptions.Nat Goodspeed
The LLProtectedDataException and LLCertException exception classes didn't used to be derived from std::exception, so they followed their own getMessage() convention instead of the standard what() convention. Now that they're derived from std::exception, remove getMessage() and change its few consumers to use what() instead. Thanks NickyD for suggesting.
2016-07-18Backed out changeset: 5fe5ad059c05ruslantproductengine
2016-07-14merge changes for STORM-2133Oz Linden
2016-07-14MAINT-5011: Per NickyD, make LLCertException::getMessage() const.Nat Goodspeed
Also getCert(). Also LLProtectedDataException::getMessage().
2016-07-14MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-14STORM-2133: VOICE-36 prevents proper shutdown of connectorAnsariel
2016-07-13MAINT-5011: Throw an actual exception in Force Software Exception.Nat Goodspeed
http://en.cppreference.com/w/cpp/language/throw says of the plain throw syntax: "This form is only allowed when an exception is presently being handled (it calls std::terminate if used otherwise)." On advice from Oz, replace plain 'throw;' with throwing a std::runtime_error.
2016-07-13Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-07-13MAINT-5011: Derive remaining exception classes from std::exception.Nat Goodspeed
In particular: NotImplemented in llhttpnode.cpp RelocateError in llupdateinstaller.cpp LLProtectedDataException, LLCertException and subclasses in llsecapi.h Had to add no-throw destructor overrides to LLCertException and subclasses because otherwise clang complains that the implicitly-generated destructor's exception specification is more lax than the base class's.
2016-07-12MAINT-6460 Crash calculating mesh complexityandreykproductengine
2016-07-12MergeRider Linden
2016-07-12STORM-2132: Remove obsoleted unique_ptr.hpp, use make_shared for pointer ↵Rider Linden
allocation.
2016-07-11MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in ↵Rider Linden
place of this. Ensures that the impl is not deleted while the coroutine is active.
2016-07-11MAINT-6534 Resetting scripts via the build menu no longer works on many ↵andreykproductengine
scripted objects
2016-07-08MAINT-6448 PERMISSION_DEBIT notification should default to Denyandreykproductengine
2016-07-08MAINT-6534 Fixed the LLSD validation failureAndreyL ProductEngine
2016-07-07Automated merge with tip of viewer-releasecallum_linden
2016-07-07Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-07-06increment viewer version to 4.0.7Oz Linden
2016-06-30DRTVWR-418: Unify control flow through LLAppViewer across platforms.Nat Goodspeed
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
2016-06-28Fixed up broken XML for Web Content Browser test video URL buttonscallum_linden
2016-06-02FIX MAINT-6748 content looks correct but page links are flipped verticallycallum_linden
2016-06-02MAINT-6448 PERMISSION_DEBIT notification should default to Denyandreykproductengine
2016-06-30MAINT-6534 Resetting scripts fails due to small timeoutandreykproductengine
2016-06-15MAINT-6486: Use literal string. Don't try and look it up.Rider Linden
2016-06-15MAINT-6460 additional header checkandreykproductengine
2016-06-13Merged in rider_linden/viewer-lynx (pull request #26)Andrey Lihatskiy
2016-06-13Merge MAINT-6486Rider Linden
2016-06-10Make string ref in HandleScriptUserData constRider Linden