summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-14MAINT-5011: Per NickyD, make LLCertException::getMessage() const.Nat Goodspeed
Also getCert(). Also LLProtectedDataException::getMessage().
2016-07-14MAINT-5011: Per NickyD, put PngError in anonymous namespace.Nat Goodspeed
2016-07-14MAINT-5011: On advice from NickyD, say KDUError not KduError.Nat Goodspeed
Also place KDUError into anonymous namespace to emphasize that it's entirely local to this .cpp file.
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-13MAINT-5011: Introduce KduError instead of throw/catch const char*.Nat Goodspeed
KduError is derived from std::runtime_error, so the message string becomes its what() message.
2016-07-13MAINT-5011: Remove alarming ll_kdu_error() functionNat Goodspeed
whose body reads: // *FIX: This exception is bad, bad, bad. It gets thrown from a // destructor which can lead to immediate program termination! throw "ll_kdu_error() throwing an exception"; which would be bad indeed... if ll_kdu_error() were ever actually referenced by anything!
2016-07-13MAINT-5011: Wrap thrown png_const_charp in new PngError classNat Goodspeed
derived from 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-06increment viewer version to 4.0.7Oz Linden
2016-07-06Added tag 4.0.6-release for changeset 4070611edd95Oz Linden
2016-07-01DRTVWR-418: Update to llappearance_utility fixed for LLApp::frame()Nat Goodspeed
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-05-20Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-05-19increment viewer version to 4.0.6Oz Linden
2016-05-19Added tag 4.0.5-release for changeset 450de775fff6Oz Linden
2016-05-10merge changes for MAINT-6392Oz Linden
2016-05-09MAINT-6392: Do not change the URL used for getting cookies (except to pass ↵Rider Linden
it to CEF) The original URL is used for HTTP Core access to profile functionality.
2016-05-07gratuitous change for new ticket numberOz Linden
2016-05-06Merged in oz_linden/maint-5974AndreyL ProductEngine
2016-05-06Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-05-06merge 4.0.4-release and MAINT-5974Oz Linden
2016-05-06fix cmake warning by conditionalizing dependency that does not exist on MacsOz Linden
2016-05-06merge changes for 4.0.4-releaseOz Linden
2016-05-06increment viewer version to 4.0.5Oz Linden
2016-05-06Added tag 4.0.4-release for changeset 0a5de9ec2cb8Oz Linden
2016-05-05various changes required to compile on new clangOz Linden
2016-05-04cosmetic fixes to basic graphics and preset selectionOz Linden
2016-05-04add max avatar complexity slider to basic graphics preferencesOz Linden
2016-05-02Fixed disabling of Windows error reportingAnsariel
2016-05-02Fixed startup crash on WindowsAnsariel Hiller
2016-04-29MAINT-6373: allow user to ignore notices about whether or not they are being ↵Oz Linden
rendered
2016-04-29Adjust some avatar complexity defaults (mostly slightly upwards)Oz Linden
Make more settings between mac and windows the same Remove solaris and xp featuretables, since we don't support them any more
2016-04-28minor code clarity improvementsOz Linden
2016-04-28adjust avatar complexity defaults to be more generous and more consistentOz Linden
2016-04-28clean up terminology for jelly dolls / avatar complexityOz Linden
2016-04-28shorted default time for complexity noticesOz Linden
2016-04-26MergeRider Linden
2016-04-26MAINT-6336: Initialize TempBoundListener with constructorRider Linden
2016-04-26MAINT-6336: Put the timeout upstream of the suspending pump and fire the ↵Rider Linden
timeout it. Also some cleanup on LLSD construction in vivox.
2016-04-26Suppress avatar complexity notices if ShowMyComplexityChanges is zeroOz Linden
2016-04-26allow warnings from autobuildOz Linden
2016-04-25MergeRider Linden
2016-04-25MAINT-6338: Add methods for getting and setting boolean properties from ↵Rider Linden
gSavedSettings in the HTTPCore. Use those methods to access new key HTTPLogBodyOnError. Dump body of HTTP message to log in case of error if this key is true.
2016-04-22Debug code snuck in.Rider Linden
2016-04-22MergeRider Linden
2016-04-22MAINT-6336: Centralize waiting on event pump with a timeout. Shorten the ↵Rider Linden
lifespan of a timeout event pump lifespan to be no longer than necessary. Change all references to the LLEventTimer to instead uses the centralized version.
2016-04-22spruce up the README (I needed a change to force a new build number)Oz Linden