summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewerwin32.cpp
AgeCommit message (Collapse)Author
2021-05-21Merge branch 'sl-10297' into DRTVWR-516-maintAndrey Lihatskiy
2021-05-12SL-10297: Merge branch 'sl-10297-oz' into sl-10297.Nat Goodspeed
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few other miscellaneous goodies.
2021-03-13SL-14961 Coroutine crash was not reported to bugsplatAndrey Kleshchev
2021-03-12SL-14961 Bugsplat loggingAndrey Kleshchev
2021-03-08Revert "Merge branch 'master' of https://bitbucket.org/lindenlab/viewer into ↵Brad Payne (Vir Linden)
DRTVWR-519" This reverts commit e61f485a04dc8c8ac6bcf6a24848359092884d14, reversing changes made to 00c47d079f7e958e473ed4083a7f7691fa02dcd5.
2020-09-22Merge branch 'master' into DRTVWR-519Callum Prentice
2020-09-11Effective rename of DRTVWR-506-simple since there is no way to rename a ↵Callum Prentice
branch. Cloned canonical viewer into DRTVWR-519, copied over the files that changed from DRTVWR-506-simple and pushed back. Once I am satisfied everything is correct, DRTVWR-506-simple will be removed
2020-08-24SL-10297 merged 6.4.7Oz Linden
2020-08-11Merge branch 'DRTVWR-501-maint' into DRTVWR-503-maintAndrey Lihatskiy
# Conflicts: # indra/cmake/DirectX.cmake # indra/newview/llviewerparcelmedia.cpp # indra/newview/viewer_manifest.py
2020-07-01DRTVWR-476, SL-13528: Use freopen_s() instead of assigning stderr.Nat Goodspeed
The llappviewerwin32.cpp create_console() function called by LLAppViewerWin32::initConsole() used to assign *stderr = *(new FILE* value), and so forth for stdout and stdin. That dubious tactic no longer works with the new Windows CRT introduced with VS 2015. freopen_s() works much better.
2020-07-01SL-13361: Enable color processing on Windows 10 debug console.Nat Goodspeed
(cherry picked from commit 0b61150e698537a7e42a4cdae02496da500399d9)
2020-07-01SL-13361: Distill redundant create_console() code to set_stream().Nat Goodspeed
There are separate stanzas in llappviewerwin32.cpp's create_console() function for each of STD_INPUT_HANDLE, STD_OUTPUT_HANDLE and STD_ERROR_HANDLE. SL-13361 wants to add more code to each. Factor out new local set_stream() function and make create_console() call it three times. (cherry picked from commit 13b78a0c5a788c617866e3530c65dae616e6520f)
2020-03-25DRTVWR-476: Fix _open_osfhandle() param from long to intptr_t.Nat Goodspeed
The Microsoft _open_osfhandle() opens a HANDLE to produce a C-style int file descriptor suitable for passing to _fdopen(). We used to cast the HANDLEs returned by GetStdHandle() to long to pass to _open_osfhandle(). Since HANDLE is an alias for a pointer, this no longer works. Fortunately _open_osfhandle() now accepts intptr_t, so we can change the relevant GetStdHandle() calls. (But why not simply accept HANDLE in the first place?)
2020-03-24SL-1431 settings_per_account.xml file should be attached to crashreportMnikolenko Productengine
2019-09-25fix spurious per-frame warning about signal handlers in WindowsOz Linden
2019-06-12remove old crash logger moreOz Linden
2019-06-05SL-11362 not all special character work in command line parametersandreykproductengine
2019-06-05assorted cleanupOz Linden
2018-12-05DRTVWR-447: Fix BugSplat init with non-ASCII chars in install path.Nat Goodspeed
The whole remaining difference between llifstream and std::ifstream is that the former handles UTF-8 coded pathnames. Microsoft's implementation of the latter does not.
2018-11-14Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-09-27mergeBrad Payne (Vir Linden)
2018-09-26Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-08-29SL-967 simplify viewer log file field syntaxOz Linden
MAINT-8991: only escape log message characters once, add unit test remove extra log line created by LL_ERRS document that tags may not contain spaces
2018-08-21DRTVWR-447: Add static_debug_info.log file to Windows crash report.Nat Goodspeed
Also use the LLOSInfo information for platform rather than simply Windows32 or Windows64.
2018-07-14DRTVWR-447: Revert BugSplat diagnostic logging; add platform tag.Nat Goodspeed
2018-07-12DRTVWR-447: For want of a 'const', the build was lost.Nat Goodspeed
2018-07-12DRTVWR-447: More diagnostic logging for BugSplat metadata strings.Nat Goodspeed
2018-07-11DRTVWR-447: Diagnostically try naively widening BugSplat metadata.Nat Goodspeed
2018-07-11DRTVWR-447: Fix silly typosNat Goodspeed
2018-07-11DRTVWR-447: Add more diagnostic logging to Windows BugSplat crash.Nat Goodspeed
2018-07-10SL-932: Attach user's settings.xml file to Windows crash reports.Nat Goodspeed
It is not obvious whether the BugsplatMac attachment API even supports multiple file attachments. I've contacted BugSplat support.
2018-06-28DRTVWR-447: Suppress BugSplat UI; auto-fill certain BugSplat data.Nat Goodspeed
Direct BugSplat to send crash reports without prompting, on both Windows and Mac. Add a mechanism by which code called after LL_ERRS() can retrieve the fatal log message string. (How did the crash logger extract that for Linden crash logging?) Add that fatal message to crash reports on Windows. But as BugsplatMac is engaged only on the run _after_ the crash, we no longer have that message in memory. Also add user name and region location to Windows crash reports. On Mac, (a) we don't have the information from the previous run and (b) BugsplatMac doesn't provide an API to attach that information to the crash report. Add Mac logging to indicate the success or failure of sending the crash report. Add Windows logging to indicate we're about to send.
2018-06-28MAINT-8797: Resurrect BugSplat crash reporting on Windows.Nat Goodspeed
The Breakpad symbol-file upload in the viewer's build.sh was failing on BugSplat builds since we weren't generating Breakpad symbol files. That upload was conditional on RELEASE_CRASH_REPORTING, so my first approach was to set RELEASE_CRASH_REPORTING=OFF for BugSplat builds. Unfortunately that symbol also propagates down into C++ compiles, and in llappviewerwin32.cpp, both Breakpad and BugSplat crash reporting is conditional on it. So that change inadvertently turned off the C++ logic to engage BugSplat. Stop forcing RELEASE_CRASH_REPORTING=OFF for BugSplat builds. Instead, make the Breakpad symbol-file upload check the BUGSPLAT_DB variable as well. Add #pragma messages to llappviewerwin32.cpp so we can detect whether it's being built for Breakpad or BugSplat or neither.
2018-06-15SL-820: gDirUtilp is never nullptr.Nat Goodspeed
It might point to an uninitialized LLDir, but that's a whole separate problem, one that wouldn't be detected by checking for nullptr. If we hit that, time to change to an LLSingleton.
2018-05-26Automated merge with ssh://bitbucket.org/lindenlab/viewer-bugsplatNat Goodspeed
2018-05-26SL-823: Fix typo in code that sets up BugSplat.Nat Goodspeed
2018-05-25SL-823: Fix minor compile errors in code to read build_data.json.Nat Goodspeed
2018-05-25SL-821, SL-826: Use BUGSPLAT_DB from environment on Windows and Mac.Nat Goodspeed
On TeamCity, set BUGSPLAT_DB from build-secrets. Use the presence of $BUGSPLAT_DB, rather than a new CMake BUGSPLAT option, to control whether CMake searches for BugSplat -- and passes LL_BUGSPLAT into C++. When BUGSPLAT_DB is present, make viewer_manifest.py set "BugSplat DB" in build_data.json, and "BugsplatServerURL" in Mac Info.plist. Make llappviewerwin32.cpp read "BugSplat DB" from build_data.json. Add placeholders for Mac hooks to suppress BugSplat prompt and send SecondLife.log.
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