summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewerwin32.cpp
AgeCommit message (Collapse)Author
2018-05-17SL-821: Use classic-C BugSplat callback and static dumb pointer.Nat Goodspeed
BugSplat has no business introducing a new C++ API based on classic-C function pointers without even a generic pass-through user data pointer!
2018-05-17SL-821: Convert wstrings to strings of __wchar_t for BugSplat API.Nat Goodspeed
2018-05-17SL-821: Move Windows BugSplat engagement from llcommon to newview.Nat Goodspeed
Use WSTRINGIZE(), LL_TO_WSTRING(), wstringize() to produce required wide strings. Use a lambda for callback that sends log file; use LLDir, if set, to find the log file. Introduce BUGSPLAT CMake variable to allow suppressing BugSplat. Make BUGSPLAT CMake variable set LL_BUGSPLAT for C++ compilations. Set viewer version macros on llappviewerwin32.cpp, llappviewerlinux.cpp and llappdelegate-objc.mm -- because BugSplat needs the viewer version data, and because the macOS BugSplat hook is engaged in an Objective-C++ function we override in the app delegate.
2018-01-19Skip warning about direct launch of viewer if running under debugger. ↵Brad Payne (Vir Linden)
Currently this check should work on windows and linux.
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-09-06MAINT-7691 Fixed crash report not generating files in unicode named foldersandreykproductengine
2017-08-31MAINT-7691 Crashreported sometimes not starting from unicode named foldersandreykproductengine
2017-05-05pull from gatecoyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-04-27DRTVWR-418: Use conventional LLSingleton init/cleanup for LLWinDebug.Nat Goodspeed
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-02-28mergecoyot@coyot-sager-PC
2016-10-10Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-08-26MAINT-5011: Fix misleading indentation in WINMAIN().Nat Goodspeed
2016-08-18SL-323: first pass at ripping out old updaterGlenn Glazer
2016-08-18MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly ↵pavelkproductengine
overrides DPI compatibility option
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-02Fixed disabling of Windows error reportingAnsariel
2014-04-23MAINT-4009: Freeing the allocated console during shutdown.Stinson Linden
2014-04-23MAINT-4009: Adding LLWinDebug::cleanup() to ensure memory is freed at app end.Stinson Linden
2014-04-22MergeXiaohong Bao
2014-04-14Fix for MAINT-5707 bad breakpad behavior with teleport linksAura Linden
2014-04-07merge with releaseRichard Linden
2014-03-13Merged in viewer-releaseAura Linden
2014-03-12merge with releaseRichard Linden
2014-03-07Fixes for crash reporter startup race condition, crash reporter CPU use, ↵Aura Linden
Secondlife.log filehandle, XP Crash.
2014-02-05MAINT-3555 crash in LLPanel::~LLPanel() on shutdown:maksymsproductengine
- memory leaks fixing;
2014-01-14Some cleanup of string to wstring conversion and vice versa.Aura Linden
2013-12-04Removed debugging code.Aura Linden
2013-12-03Creating a cleaner branchAura Linden
2013-11-06merge with releaseRichard Linden
2013-08-12Save SL NVAPI profile only when changes have been made.dolphin
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-31fix some compiling errors.Xiaohong Bao
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
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-06-20merge with releaseRichard Linden
2013-06-05merge with viewer-releaseRichard Linden
2013-06-04fix modified virtual function names in platform-specific modulesOz Linden
2013-05-30BUG-2707 add some logging to help narrow down what part of login instance ↵Graham Madarasz
handling is going awry
2013-04-19merge up to latest viewer-development for merge to 3.5.2Oz Linden
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-16merge up to 3.5.2 developmentOz Linden
2013-04-02change initLogging virtual functions to void (returns were ignored anyway)Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-11SH-3852 WIP - removed avatar metrics from ViewerAssetMetricsBrad Payne (Vir Linden)
2012-11-20Automated merge with https://bitbucket.org/lindenlab/viewer-developmentDave Parks
2012-11-19MAINT-1841 Use NVAPI to force NVIDIA GPU power management mode to prefer max ↵Dave Parks
performance Reviewed by Simon.
2012-11-07MAINT-1815 Fix for excessive memory usage in Mayfair. Disable tcmalloc. ↵Dave Parks
Disable private memory pools. Make viewer large address aware on windows. Reviewed by Kelly
2012-10-15Merge in viewer-development code and fix buildsimon@Simon-PC.lindenlab.com
2012-10-01Only enable breakpad error handing if crash reporting is enabledDave Parks
2012-09-12initial attempt to restore changes that make removing tcmalloc possible; not ↵Oz Linden
tested
2012-09-10Backing out the changes contributing to DRTVWR-167 and DRTVWR-179 from the ↵William Todd Stinson
repository.