Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
instead of relying on both indra/newview/CMakeLists.txt and build.sh
generating the same file pathname.
Make build.sh set VIEWER_SYMBOL_FILE (instead of symbolfile) in pre_build, and
pass it to autobuild configure via -D switch. Then the uploads stanza can just
use VIEWER_SYMBOL_FILE instead of performing its platform-sensitive case
statement right there.
Introduce VIEWER_SYMBOL_FILE CMake cache variable, default empty string.
Make indra/newview/CMakeLists.txt generate_breakpad_symbols logic conditional
on VIEWER_SYMBOL_FILE being non-empty, as well as everything else. Eliminate
local set(VIEWER_SYMBOL_FILE) directives.
|
|
|
|
Define the CMake cache variable, with empty string as its default.
Make build.sh pass the BUGSPLAT_DB environment variable as a CMake
command-line variable assignment.
Change CMake 'if (DEFINED ENV{BUGSPLAT_DB})' to plain 'if (BUGSPLAT_DB)'.
Make CMake pass new --bugsplat switch to every one of SIX different
invocations of viewer_manifest.py.
Give llmanifest.main() function an argument to allow supplementing the base
set of command-line switches with additional application-specific switches.
In viewer_manifest.py, define new --bugsplat command-line switch and pass to
llmanifest.main(). Instead of consulting os.environ['BUGSPLAT_DB'], consult
self.args['bugsplat'].
|
|
This required reordering certain operations during Mac viewer startup. Split
llappviewermacosx.cpp's initViewer() function into constructViewer() (which
instantiates LLAppViewerMacOSX) and initViewer() (which calls
LLAppViewerMacOSX::init()).
llappdelegate-objc.mm's applicationDidFinishLaunching override now calls
[BugsplatStartupManager start] between constructViewer() and initViewer(): we
want constructViewer() to have set up the logging subsystem so we can log the
actions of BugsplatStartupManagerDelegate override methods, but otherwise we
want BugsplatStartupManager in place as early as possible to catch any early
crashes. Besides, initViewer() ends up overwriting the static_debug_info.log
on which we depend for the *previous* run's crash metadata.
Move the code that initializes the pathname of the static_debug_info.log file
from LLAppViewerMacOSX::init() to the LLAppViewerMacOSX() constructor, since
BugsplatStartupManagerDelegate override methods need to read (the previous
run's) file.
Add code to applicationLogForBugsplatStartupManager override to set new
BugsplatMac 1.0.6 properties userName and userEmail.
Don't log empty fields from static_debug_info.log if we couldn't read it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduce CrashMetadata, an LLSingleton in llappviewermacosx.cpp, declared in
llappviewermacosx-for-objc.h and accessed by the various
BugsplatStartupManagerDelegate override methods. CrashMetadata is populated by
reading the previous (presumably crashed) run's static_debug_info.log file.
This replaces the previous getOldLogFilePathname(), getFatalMessage() and
getAgentFullname() functions. To extend that suite for additional metadata,
not only would we have to keep adding new free functions, but we'd have to
keep rereading the static_debug_info.log file.
Override the new applicationKeyForBugsplatStartupManager,
defaultUserNameForBugsplatStartupManager,
defaultUserEmailForBugsplatStartupManager methods to extract relevant fields
from CrashMetadata. Change applicationLogForBugsplatStartupManager and
attachmentForBugsplatStartupManager to do the same.
Enhance llviewerregion.cpp to update the static_debug_info.log file every
time we enter a new region.
|
|
Also use the LLOSInfo information for platform rather than simply Windows32 or
Windows64.
|
|
Just put the static_debug_info.log file in the parent logs directory.
Also update that static_debug_info.log file with "FatalMessage" key taken from
LL_ERRS() message string.
|
|
I think the intention of (sDumpDir.rbegin() == mDirDelimiter.rbegin()) was to
test whether sDumpDir endsWith(mDirDelimiter). But those iterators will never
be equal. Instead, use LLStringUtil::endsWith().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the group menu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On Windows, where 'path' might be separated either with '/' or '\', the latter
breaks unless all path separators are in fact the os.sep character '\'. While
it would be possible to code something fancy with os.sep and os.altsep,
testing the latter for None, much simpler to let os.path.split() handle it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
last active preset as "Preset in use" in the UI
|
|
|
|
|