Age | Commit message (Collapse) | Author |
|
|
|
This avoids having to tokenize a single string, avoiding swallowing
backslashes in Windows pathnames in the mistaken belief they're escape
characters. Alternatively, it avoids us having to double-escape them or
convert them to forward slashes or whatever.
|
|
|
|
|
|
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
|
|
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.
|
|
|
|
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.
|
|
|
|
SL-11049: Try harder to honor command-line --grid switch.
Approved-by: Andrey Lihatskiy
Approved-by: Andrey Kleshchev
|
|
|
|
There were two nearly-identical copies of a stanza that calls
sendURLToOtherInstance(). Remove one.
It's possible that the reason no one noticed the duplication was because the
two copies were 70 lines apart. Move setSkinFolder(), setUseSpellCheck() and
setSecondaryDictionaries() stanzas to consolidate SLURL-handling code more
closely. Also move logic for NextLoginLocation and CmdLineLoginLocation.
Remove a couple unnecessary std::ostringstream instances. Streaming a single
string literal to std::ostringstream and retrieving its str() is the same as simply
converting the literal to std::string, only slower.
OSMessageBox() accepts const std::string&. Given that you have a std::string
in hand, passing its c_str() to OSMessageBox() is not only unnecessary but
wasteful: it requires silently converting the const char* back to a different
std::string instance.
Calling a class method from another method of the same class does not require
ClassName:: qualification. Calling a singleton subclass method from another
non-static method of the same subclass does not require going through
ClassName::instance() or sInstance or whatever.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Silence launcher warning for devs.
Work-around path gen deciding to gen NaNs for some flexi prims.
|
|
|
|
you do not choose desired path in File picker quickly
|
|
|
|
|
|
Silence nagging about running launcher for non-release for download builds.
Tweak newview CMake to use executable instead of SL_Launcher and
re-enable debugging within Xcode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specifically, when the viewer is run with a URL target argument, suppress the
"do not directly execute viewer, use the launcher instead" warning.
|
|
|
|
|
|
|
|
|
|
Remove nerfing of message to run SL_Launcher.
|
|
capture SL frames.
These changes are only enabled if RenderNsightDebugSupport is true and eliminate use of
some OpenGL legacy functionality which is incompatible with nSight capture
(mostly glReadPixels and other fixed-function pipe rendering calls).
|
|
|
|
|
|
|
|
|
|
'MAINT-8194 Remove per-frame calls to updateJavascriptObject()'
|
|
|
|
|
|
|
|
build for CEF in the About box
|
|
On Windows, when logged in with a non-ASCII username, every one of the three
documented APIs -- SHGetSpecialFolderPath(), SHGetFolderPath() and
SHGetKnownFolderPath() -- fails to retrieve any pathname at all. We cannot
account for the fact that the oldest of these continues to work with the
release viewer and within a Python script (though not, curiously, from a
Python interactive session). With a non-ASCII username, they consistently fail
when called from an Alex Ivy viewer build: "The filename, directory name, or
volume label syntax is incorrect."
Empirically, with a non-ASCII username, the preset APPDATA and LOCALAPPDATA
environment variables are also useless, e.g. c:\Users\??????\AppData\Roaming
where those are, yup, actual question marks.
Empirically, the VMP is able to successfully call SHGetFolderPath() to
retrieve both AppData\Roaming and AppData\Local. Therefore, we make the VMP
set the APPDATA and LOCALAPPDATA environment variables to the UTF-8 encoded
correct pathnames. Instead of calling SHGetSomethingFolderPath() at all, make
LLDir_Win32 retrieve those environment variables.
Make LLFile::mkdir() treat "directory already exists" as a success case. Every
single call fell into one of two categories: either it didn't check success at
all, or it tested specially to exempt errno == EEXIST. Migrate that test into
mkdir(); eliminate it from call sites.
Make LLDir::append() and add() convenience functions accept variadic
arguments. Replace add(add()...) constructs, as well as clumsy concatenations
of directory names and getDirDelimiter(), with simple variadic add() calls.
|
|
|