Commit Graph

35803 Commits (cefa598e49490bfedb86a5be0747ec3c856d06bf)

Author SHA1 Message Date
Nat Goodspeed cefa598e49 MAINT-5011: Per NickyD, make LLCertException::getMessage() const.
Also getCert().

Also LLProtectedDataException::getMessage().
2016-07-14 11:33:29 -04:00
Nat Goodspeed 636ce117bb MAINT-5011: Per NickyD, put PngError in anonymous namespace. 2016-07-14 10:35:56 -04:00
Nat Goodspeed d7c904632b MAINT-5011: On advice from NickyD, say KDUError not KduError.
Also place KDUError into anonymous namespace to emphasize that it's entirely
local to this .cpp file.
2016-07-14 10:26:57 -04:00
Nat Goodspeed 2f003fd5a9 MAINT-5011: Throw an actual exception in Force Software Exception.
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-13 14:58:12 -04:00
Nat Goodspeed 21e8352de6 MAINT-5011: Introduce KduError instead of throw/catch const char*.
KduError is derived from std::runtime_error, so the message string becomes its
what() message.
2016-07-13 14:42:44 -04:00
Nat Goodspeed 5b233bba3f MAINT-5011: Remove alarming ll_kdu_error() function
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-13 14:28:45 -04:00
Nat Goodspeed 75149be061 MAINT-5011: Wrap thrown png_const_charp in new PngError class
derived from std::runtime_error.
2016-07-13 14:19:26 -04:00
Nat Goodspeed cd1c64d689 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-07-13 10:44:40 -04:00
Nat Goodspeed b031b1a625 MAINT-5011: Derive remaining exception classes from std::exception.
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-13 10:43:36 -04:00
Oz Linden f868e29945 increment viewer version to 4.0.7 2016-07-06 16:52:24 -04:00
Oz Linden e67b8e3095 Added tag 4.0.6-release for changeset 4070611edd95 2016-07-06 16:52:23 -04:00
Nat Goodspeed 1a3fa64ecc DRTVWR-418: Update to llappearance_utility fixed for LLApp::frame() 2016-07-01 12:14:08 -04:00
Nat Goodspeed 464a0df4c1 DRTVWR-418: Unify control flow through LLAppViewer across platforms.
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-30 16:51:50 -04:00
AndreyL ProductEngine 445cd96293 Merged in lindenlab/viewer-release 2016-05-20 00:03:30 +03:00
Oz Linden c2ef3b4c71 increment viewer version to 4.0.6 2016-05-19 10:25:05 -07:00
Oz Linden ea08e23cf3 Added tag 4.0.5-release for changeset 450de775fff6 2016-05-19 10:24:24 -07:00
Oz Linden 94c667c9ab merge changes for MAINT-6392 2016-05-10 12:05:21 -04:00
Rider Linden 5fdc540e57 MAINT-6392: Do not change the URL used for getting cookies (except to pass it to CEF) The original URL is used for HTTP Core access to profile functionality. 2016-05-09 14:20:21 -07:00
Oz Linden 39a0d18e39 gratuitous change for new ticket number 2016-05-07 08:29:36 -04:00
AndreyL ProductEngine 6f5f307e0a Merged in oz_linden/maint-5974 2016-05-06 23:32:00 +03:00
AndreyL ProductEngine b32d00308e Merged in lindenlab/viewer-release 2016-05-06 17:31:36 +03:00
Oz Linden 950c41d184 merge 4.0.4-release and MAINT-5974 2016-05-06 10:28:42 -04:00
Oz Linden 7f5e6cea12 fix cmake warning by conditionalizing dependency that does not exist on Macs 2016-05-06 09:19:12 -04:00
Oz Linden a07a8cbf6e merge changes for 4.0.4-release 2016-05-06 09:05:51 -04:00
Oz Linden 94559950a2 increment viewer version to 4.0.5 2016-05-06 08:56:31 -04:00
Oz Linden 1114d681f1 Added tag 4.0.4-release for changeset 0a5de9ec2cb8 2016-05-06 08:56:31 -04:00
Oz Linden c938e16506 various changes required to compile on new clang 2016-05-05 13:53:07 -04:00
Oz Linden 20198b750d cosmetic fixes to basic graphics and preset selection 2016-05-04 18:01:59 -04:00
Oz Linden 0e5c8ed390 add max avatar complexity slider to basic graphics preferences 2016-05-04 10:16:53 -04:00
Ansariel dac6a7a4e3 Fixed disabling of Windows error reporting 2016-05-02 16:34:37 +02:00
Ansariel Hiller e5b206c321 Fixed startup crash on Windows 2016-05-02 11:34:14 +00:00
Oz Linden 9a83367e43 MAINT-6373: allow user to ignore notices about whether or not they are being rendered 2016-04-29 14:07:57 -04:00
Oz Linden f495ca8f1a Adjust some avatar complexity defaults (mostly slightly upwards)
Make more settings between mac and windows the same
Remove solaris and xp featuretables, since we don't support them any more
2016-04-29 10:52:43 -04:00
Oz Linden ff6d4b517f minor code clarity improvements 2016-04-28 14:42:13 -04:00
Oz Linden e81135b5d8 adjust avatar complexity defaults to be more generous and more consistent 2016-04-28 11:28:46 -04:00
Oz Linden f17d4edbe8 clean up terminology for jelly dolls / avatar complexity 2016-04-28 10:53:15 -04:00
Oz Linden fab1381d60 shorted default time for complexity notices 2016-04-28 10:52:34 -04:00
Rider Linden 3771778ac3 Merge 2016-04-26 16:20:01 -07:00
Rider Linden 66dd72459a MAINT-6336: Initialize TempBoundListener with constructor 2016-04-26 13:44:44 -07:00
Rider Linden dd2311b993 MAINT-6336: Put the timeout upstream of the suspending pump and fire the timeout it. Also some cleanup on LLSD construction in vivox. 2016-04-26 11:56:25 -07:00
Oz Linden 5c70d7ed2b Suppress avatar complexity notices if ShowMyComplexityChanges is zero 2016-04-26 14:08:28 -04:00
Oz Linden 7eb14ba3ef allow warnings from autobuild 2016-04-26 09:46:31 -04:00
Rider Linden 1eaed3d37f Merge 2016-04-25 12:12:18 -07:00
Rider Linden 4d9dd3271b MAINT-6338: Add methods for getting and setting boolean properties from 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-25 12:06:33 -07:00
Rider Linden 1fa2757511 Debug code snuck in. 2016-04-22 15:14:30 -07:00
Rider Linden fd8b7a3934 Merge 2016-04-22 14:52:36 -07:00
Rider Linden 899489ae0a MAINT-6336: Centralize waiting on event pump with a timeout. Shorten the 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-22 12:07:27 -07:00
Oz Linden 574963ff6d spruce up the README (I needed a change to force a new build number) 2016-04-22 14:00:46 -04:00
Andrey Lihatskiy d6f454831f Merged lindenlab/viewer-bear into default 2016-04-22 04:23:53 +03:00
AndreyL ProductEngine 56f736b654 Merged in cinderblocks/storm-2127 2016-04-21 22:48:32 +03:00