Commit Graph

94 Commits (8a13530ce4eeb481ee467fd3ec54f1ed7e9f632a)

Author SHA1 Message Date
Nat Goodspeed 0c7bc67814 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2017-10-11 14:35:49 -04:00
andreykproductengine 4a4d93d8c0 MAINT-7691 Fixed crash report not generating files in unicode named folders 2017-09-06 16:04:59 +03:00
andreykproductengine bf1af55a06 MAINT-7691 Crashreported sometimes not starting from unicode named folders 2017-08-31 20:26:25 +03:00
coyot@coyot-sager-PC.hsd1.ca.comcast.net a1194ce6e9 pull from gate 2017-05-05 18:07:00 +01:00
Nat Goodspeed c04073da37 DRTVWR-418: Use conventional LLSingleton init/cleanup for LLWinDebug.
LLWinDebug, though an LLSingleton, had (and required explicit calls to)
special init() and cleanup() methods. Kitty Barnett points out that the
cleanup() method was actually being called after LLSingletonBase::deleteAll(),
requiring resurrection of the deleted LLWinDebug, which sometimes led to
crashes. (Resurrecting deleted LLSingletons is always suspect.)

Change LLWinDebug::init() and cleanup() to the conventional initSingleton()
and cleanupSingleton() methods. This eliminates the need to make special
method calls at all. In particular, cleanupSingleton() will be called by the
existing LLSingletonBase::cleanupAll() call near viewer shutdown.

We retain the early LLWinDebug::instance() call, which implicitly initializes
the LLWinDebug instance, because evidently we want that initialized early. But
we no longer require a separate init() call.
2017-04-27 08:40:01 -04:00
coyot@coyot-sager-PC 3a3da6e4a7 merge 2017-02-28 22:56:30 +00:00
AndreyL ProductEngine 4617e07b37 Merged in lindenlab/viewer-release 2016-10-10 23:26:58 +03:00
Nat Goodspeed ceb9d3f7f1 MAINT-5011: Fix misleading indentation in WINMAIN(). 2016-08-26 15:46:26 -04:00
Glenn Glazer c8c143e774 SL-323: first pass at ripping out old updater 2016-08-18 13:05:30 -07:00
pavelkproductengine cf93c1c81d MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly overrides DPI compatibility option 2016-08-18 19:43:48 +03: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
Ansariel dac6a7a4e3 Fixed disabling of Windows error reporting 2016-05-02 16:34:37 +02:00
Stinson Linden 5969c3d04f MAINT-4009: Freeing the allocated console during shutdown. 2014-04-23 18:13:12 +01:00
Stinson Linden 041f267d6a MAINT-4009: Adding LLWinDebug::cleanup() to ensure memory is freed at app end. 2014-04-23 01:57:24 +01:00
Xiaohong Bao ae564140c0 Merge 2014-04-22 12:19:28 -06:00
Aura Linden e5dae42252 Fix for MAINT-5707 bad breakpad behavior with teleport links 2014-04-14 15:11:42 -07:00
Richard Linden 98aabdc176 merge with release 2014-04-07 19:09:40 -07:00
Aura Linden 706ec08deb Merged in viewer-release 2014-03-13 21:55:22 +00:00
Richard Linden 5b846ed2a6 merge with release 2014-03-12 12:48:43 -07:00
Aura Linden d2bb4dae98 Fixes for crash reporter startup race condition, crash reporter CPU use, Secondlife.log filehandle, XP Crash. 2014-03-07 14:58:22 -08:00
maksymsproductengine e6c85c46c4 MAINT-3555 crash in LLPanel::~LLPanel() on shutdown:
- memory leaks fixing;
2014-02-05 20:45:09 +02:00
Aura Linden ea7e6a5174 Some cleanup of string to wstring conversion and vice versa. 2014-01-14 15:28:35 -08:00
Aura Linden ce2cd00cc5 Removed debugging code. 2013-12-04 19:57:11 -08:00
Aura Linden 6809348125 Creating a cleaner branch 2013-12-03 17:06:06 -08:00
Richard Linden fe518bde8e merge with release 2013-11-06 17:22:04 -08:00
dolphin 91c9cc4c33 Save SL NVAPI profile only when changes have been made. 2013-08-12 11:09:05 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Xiaohong Bao c5651d05fd fix some compiling errors. 2013-07-31 11:18:18 -06:00
Richard Linden a2e22732f1 Summer cleaning - removed a lot of llcommon dependencies to speed up build times
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
2013-07-30 19:13:45 -07:00
Richard Linden a2a6bf20d7 merge with release 2013-06-20 16:46:23 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Oz Linden edf0a0c7f5 fix modified virtual function names in platform-specific modules 2013-06-04 16:26:11 -04:00
Graham Madarasz c19200eb00 BUG-2707 add some logging to help narrow down what part of login instance handling is going awry 2013-05-30 17:01:28 -07:00
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Oz Linden 327c99cadb merge up to 3.5.2 development 2013-04-16 16:01:32 -04:00
Oz Linden e200991553 change initLogging virtual functions to void (returns were ignored anyway) 2013-04-02 15:01:25 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Brad Payne (Vir Linden) f3e407ae3f SH-3852 WIP - removed avatar metrics from ViewerAssetMetrics 2013-02-11 13:50:26 -05:00
Dave Parks 5d34ac552f Automated merge with https://bitbucket.org/lindenlab/viewer-development 2012-11-20 17:03:55 -06:00
Dave Parks 7491fbd677 MAINT-1841 Use NVAPI to force NVIDIA GPU power management mode to prefer max performance
Reviewed by Simon.
2012-11-19 17:40:43 -06:00
Dave Parks a36b66bd14 MAINT-1815 Fix for excessive memory usage in Mayfair. Disable tcmalloc. Disable private memory pools. Make viewer large address aware on windows.
Reviewed by Kelly
2012-11-07 16:03:54 -06:00
simon@Simon-PC.lindenlab.com d6e3b0445a Merge in viewer-development code and fix build 2012-10-15 14:23:29 -07:00
Dave Parks c69855f233 Only enable breakpad error handing if crash reporting is enabled 2012-10-01 16:26:12 -05:00
Oz Linden 97d969a338 initial attempt to restore changes that make removing tcmalloc possible; not tested 2012-09-12 14:36:37 -04:00
William Todd Stinson a766e26db4 Backing out the changes contributing to DRTVWR-167 and DRTVWR-179 from the repository. 2012-09-10 10:37:02 -07:00
simon@Simon-PC.lindenlab.com 173d0fa213 Pull in viewer-development because it's painful. Merge with runitai's help. 2012-07-11 16:15:23 -07:00
simon@Simon-PC.lindenlab.com b7555a3309 Merge back viewer-lion, which has viewer-development and down-stream fixes 2012-08-01 14:07:24 -07:00
Dave Parks 4a5ad35793 MAINT-570 Remove unused memory tracking system LLMemType 2012-07-20 11:42:15 -05:00
Brad Payne (Vir Linden) d1987a3002 SH-2789 FIX - windows debug heap off by default 2012-06-06 14:28:21 -04:00