Age | Commit message (Collapse) | Author |
|
|
|
following promotion of DRTVWR-525
|
|
|
|
|
|
Made sure all waits will be triggered, won't loop back and that in case of http queue it had some time to trigger
|
|
|
|
|
|
Mostly converted some boost pointers to std ones
Made ~LLNotificationChannelBase() more explicit to get a bit more data on location of another crash that likely happens when cleaning mItems
|
|
Superficially crash happens in disconnect() inside signal's deconstructor. Manual cleanup should help figuring out if crash happens due to named or anonymous listeners
|
|
|
|
CRYPTO_set_id_callback and CRYPTO_set_locking_callback are no-op in ssl 1.1.x
|
|
|
|
|
|
SL-15299 SL-15313 BUG-230802 Revert BOM fix causing issues with avatar alpha masks.
Approved-by: Andrey Kleshchev
|
|
masks.
Revert "SL-12069 Issues with bakes-on-mesh and alpha modes"
This reverts commit 5691d302ef876a7e6fb6861441f14e5e7f0c7735.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Made sure all waits will be triggered, won't loop back and that in case of http queue it had some time to trigger
|
|
|
|
enabled proxy - there isn't an obvious way to set proxy information for CEF alone and QA asserts that the system setting is used so we are removing the proxy UI from the preferences floater. I purposely left everything else in place (config floater, media plugin messages etc.) so we can consider adding CEF specific support one day.
|
|
|
|
should not show JS (about to unload) popups
|
|
|
|
|
|
|
|
Two sleep() methods: one accepting F32Milliseconds, or in general any LLUnits
time class; the other accepting any std::chrono::duration.
The significant thing about each of these sleep() methods, as opposed to any
freestanding sleep() function, is that it only sleeps until the app starts
shutdown. Moreover, it returns true if it slept for the whole specified
duration, false if it woke for app shutdown.
This is accomplished by making LLApp::sStatus be an LLScalarCond<EAppStatus>
instead of a plain EAppStatus enum, and by making setStatus() call set_all()
each time the value changes. Then each new sleep() method can call
wait_for_unequal(duration, APP_STATUS_RUNNING).
Introducing llcond.h into llapp.h triggered an #include circularity because
llthread.h #included llapp.h even though it didn't reference anything from it.
Removed. This, in turn, necessitated adding #include "llapp.h" to several .cpp
files that reference LLApp but had been depending on other header files to
drag in llapp.h.
|
|
Also add Ansariel's explanation for why interaction through the filesystem
itself should be safe.
|
|
outside the main thread
|
|
|
|
With /std:c++17, in wbemcli.h included by <Wbemidl.h>, we were getting errors
concerning an ambiguous symbol 'byte'. This turns out to be due to a 'using
namespace std' declaration before the #include. The linked workaround advises
moving 'using namespace std' after the #include. But since the ONLY symbol
from std that was used without qualification was 'hex' in a few places, remove
'using namespace std' altogether and just write 'std::hex' everywhere.
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889#T-N138537
|
|
|
|
This reverts commit 07456abe92ab24f373b238f6bd64087c078b7fc3, reversing
changes made to 8a33636e8f56f8d1229b3f76ed6205ce8087048d.
|
|
|
|
|
|
(cherry picked from commit 28deadab5b37880314a58eff095ae2844a9ebbac)
|
|
This is somewhat more expensive for string literals, but switching to
std::string_view implies more extensive changes, to be considered separately.
|
|
This reverts commit 28deadab5b37880314a58eff095ae2844a9ebbac.
Going there implies other changes, will take up on another branch.
|
|
|
|
|
|
|
|
|
|
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
|
|
Also freeStackBuffer() and all the funky classic-C string management of a big
flat buffer divided into exactly 512 128-byte strings. Define StringVector as
a std::vector<std::string>, and use that instead.
Retain the behavior of clearing the vector if it exceeds 512 entries.
This eliminates the LLError::Log::flush(const std::ostringstream&, char*)
overload as well, with its baffling mix of std::string and classic-C (e.g.
strlen(out.str().c_str()).
If we absolutely MUST use a big memory pool for performance reasons, let's
use StringVector with allocators.
|
|
Opening and closing single-instance floaters rapidly and multiple times could result in cleaning instance from floaterreg twice, thus removing new isntance instead of current one
|
|
Instead of a single std::ostringstream instance shared by all callers, even
those on different threads, make each of the relevant lllog_test_() and
llcallstacks macros instantiate independent (stack) std::ostringstream
objects. lllog_test_() is called by LL_DEBUGS(), LLINFOS(), LL_WARNS(),
LL_ERRS(), LL_VLOGS() et al.
Eliminate LLError::Log::out(), whose sole function was to arbitrate use of
that shared std::ostringstream. Amusingly, if the lock couldn't be locked or
if messageStreamInUse was set, out() would allocate a new (heap!)
std::ostringstream anyway, which would then have to be freed by flush().
Make both LLError::Log::flush() overloads accept const std::ostringstream&.
Make LL_ENDL pass the local _out instance. This eliminates the need to check
whether the passed std::ostringstream* references the shared instance and
(if so) reset it or (if not) delete it.
Make LLError::LLCallStacks::insert() accept the local _out instance as non-
const std::ostream&, rather than acquiring and returning std::ostringstream*.
Make end() accept the local instance as const std::ostringstream&.
|
|
Introduce 'string_params' typedef for std::initialization_list<std::string>,
and make logwarns(), loginfos(), logdebugs() and logerrs() accept const
string_params&.
Eliminate the central log() function in llsingleton.cpp that used LL_VLOGS().
To cache the result of a (moderately expensive) Log::shouldLog() call,
LL_VLOGS() wants its CallSite object to be static -- but of course the
shouldLog() result will differ for different ELevel values, so LL_VLOGS()
instantiates a static array of CallSite instances. It seems silly to funnel
distinct logwarns(), etc., functions through a common log() function only to
have LL_VLOGS() tease apart ELevel values again. Instead, make logwarns()
directly invoke LL_WARNS(), and similarly for the rest.
To reduce boilerplate in these distinct functions, teach std::ostream how to
stream a string_params instance by looping over its elements. Then each
logwarns(), etc., function can simply stream its string_params argument to
LL_WARNS() or whichever.
In particular, eliminate the LLERROR_CRASH macro in logerrs(). The fact that
it invokes LL_ERRS() ensures that its LL_ENDL macro will crash the viewer.
|