Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
Update base URLs to match new viewer release note URL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SL-10019 - [Mac] [Render] Right-click context menu immediately disappears when clicking any place in the ‘Inventory’ floater
SL-9984 - [Retina] Camera frustum, do not display correctly on "WORLD MAP" window.
SL-10027 - [Mac] [Render] Add toggle for Retina support to mitigate FPS loss
Re-FIX for Retina support.
|
|
|
|
thereby avoiding strange Windows requirement for elevated privilege.
|
|
In fact, mark UpdaterServiceURL as obsolete. (Consumers should consult
build_data.json.)
|
|
|
|
|
|
breaks
Improve the implementation so that escaping is computed only once
|
|
The updater is required to survive beyond termination of the viewer that
launched it so it can launch the next installer, or a replacement viewer.
Having the old viewer forcibly terminate it on shutdown would be counter-
productive.
Introduce a third LLLeap::create() overload taking LLProcess::Params, which
gives access to autokill, cwd and other options previously unsupported by
LLLeap. Reimplement the existing create() overloads in terms of this new one,
since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway.
Use LLProcess::Params in LLAppViewer::init() to specify the updater process,
setting autokill=false.
Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block
feature never before used: had to drag operator() into Multiple from its base
class TypedParam (as has been done in other TypedParam subclasses).
|
|
duplicate code in llappviewer.cpp
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|