Commit Graph

87 Commits (e6f53dedb704c92af45ede2d97c559cb6639358f)

Author SHA1 Message Date
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
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
Brad Payne (Vir Linden) 542975b4c6 merge 2012-06-04 16:19:18 -04:00
callum 6c3d444490 EXP-1889 FIX As a Second Life viewer developer, I would like a tool that helps me find memory leaks. 2012-02-10 14:02:09 -08:00
Richard Linden d56be1f175 EXP-1181 WIP as a designer I would like to specify default floater positions using realtive coordinates
refactored LLCoord code to be templated, ultimately to support arbitrary conversions
2012-02-07 12:31:48 -08:00
Brad Payne (Vir Linden) c0fffdea88 SH-2789 WIP 2012-01-12 16:11:06 -05:00
Xiaohong Bao db363104dc fix for SH-2586: Texture Memory (MB) preference refuses to set above 128mb (when --noprobe switch is used) 2011-10-26 14:35:58 -06:00
Aaron Stone 5f99d30c20 STORM-1482 Always run the crash loggers, they will check what to do and how to clean up. 2011-07-15 16:25:32 -07:00
Aaron Stone 42daa3497b STORM-1482 The Viewer shouldn't overwrite the crash behavior settings, some cleanups to the crash reporters, and the ability to use --set GroupName.SettingName to set parameters outside of the (default) Global settings group. 2011-07-12 15:48:02 -07:00