summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-19SL-13273 Updated the SL logo imagesAndrey Lihatskiy
2020-05-19SL-13273 Updated the SL logo imagesAndrey Lihatskiy
2020-05-19Make sure coproc gets destroyed after each iteration.Nicky Dasmijn
Making coproc scoped to the for loop will make sure the destructor gets called every loop iteration. Keeping it's scope outside the for loop means the pointer keeps valid till the next assigment that happens inside pop_wait_for when it gets assigned a new value. Triggering the dtor inside pop_wait_for can lead to deadlock when inside the dtor a coroutine tries to call enqueueCoprocedure (this happens). enqueueCoprocedure then will try to grab the lock for try_push but this lock is still held by pop_wait_for.
2020-05-19DRTVWR-476: Clean up reverting to boost::fibers::buffered_channel.Nat Goodspeed
2020-05-19SL-13270 Pull translations into the corresponding xml files.Mnikolenko Productengine
2020-05-19SL-12896 BOM texture settings - replaced isRiggedMesh() call with faster checkAndrey Lihatskiy
2020-05-19DRTVWR-476: Revert "Use LLThreadSafeQueue, not boost::fibers::buffered_channel."Nat Goodspeed
This reverts commit bf8aea5059f127dcce2fdf613d62c253bb3fa8fd. Try boost::fibers::buffered_channel again with Boost 1.72.
2020-05-19DRTVWR-476: Update to llphysicsextensions_stub build 542456Nat Goodspeed
2020-05-19SL-12904 Restored the missing code (post-merge)Andrey Lihatskiy
2020-05-19Merge branch 'master' into DRTVWR-507-maintAndrey Lihatskiy
2020-05-19Merge branch 'master' into DRTVWR-482Andrey Lihatskiy
2020-05-18Merge branch 'master' into DRTVWR-501-maintAndrey Lihatskiy
# Conflicts: # indra/llxml/llcontrolgroupreader.h # indra/newview/llviewerkeyboard.cpp
2020-05-18DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72Nat Goodspeed
2020-05-18Merged master into DRTVWR-497Andrey Kleshchev
2020-05-18Merged master into DRTVWR-508Andrey Kleshchev
2020-05-18Increment viewer version to 6.4.3Nat Goodspeed
following promotion of DRTVWR-460
2020-05-18SL-12491 semwait_signal crashAndrey Kleshchev
Superficially it looks like mac tried to resume ms_sleep after class got destroyed by regular cleanup.
2020-05-18SL-12007 Missed transparent water in LLFloaterPreferenceAndrey Kleshchev
2020-05-18Merged in SL-13265 "Empty leaf" crash safeguardsAndrey Kleshchev
2020-05-18SL-13266 FIXED Notecard editor external edit button graphical errorMnikolenko Productengine
2020-05-18Small CleanupAndrey Kleshchev
2020-05-18SL-13265 "Empty leaf" crash safeguardsAndrey Kleshchev
2020-05-18SL-13259 FIXED The searching word remains highlighted in the "Chat" tabMnikolenko Productengine
2020-05-15Tiny text change in the about box - indicates CEF and Chromium are ↵Callum Prentice
sub-components
2020-05-15Pull in new (Windows 64) Dullahan that was built from CEF in TeamCityCallum Prentice
2020-05-15dummy commit to fix TeamCity/Codeticket linksAndrey Lihatskiy
2020-05-15SL-12237 Remade updates for invisible avatarsAndrey Kleshchev
2020-05-14DRTVWR-476, SL-12204: Fix crash in Marketplace Listings.Nat Goodspeed
The observed crash was due to sharing a stateful global resource (the global LLMessageSystem instance) between different tasks. Specifically, a coroutine sets its mMessageReader one way, expecting that value to persist until it's done with message parsing, but another coroutine sneaks in at a suspension point and sets it differently. Introduce LockMessageReader and LockMessageChecker classes, which must be instantiated by a consumer of the resource. The constructor of each locks a coroutine-aware mutex, so that for the lifetime of the lock object no other coroutine can instantiate another. Refactor the code so that LLMessageSystem::mMessageReader can only be modified by LockMessageReader, not by direct assignment. mMessageReader is now an instance of LLMessageReaderPointer, which supports dereferencing and comparison but not assignment. Only LockMessageReader can change its value. LockMessageReader addresses the use case in which the specific mMessageReader value need only persist for the duration of a single method call. Add an instance in LLMessageHandlerBridge::post(). LockMessageChecker is a subclass of LockMessageReader: both lock the same mutex. LockMessageChecker addresses the use case in which the specific mMessageReader value must persist across multiple method calls. Modify the methods in question to require a LockMessageChecker instance. Provide LockMessageChecker forwarding methods to facilitate calling the underlying LLMessageSystem methods via the LockMessageChecker instance. Add LockMessageChecker instances to LLAppViewer::idleNetwork(), a couple cases in idle_startup() and LLMessageSystem::establishBidirectionalTrust().
2020-05-14SL-12237 Remade updates for invisible avatarsAndrey Kleshchev
2020-05-14DRTVWR-476: Wrap boost::fibers::mutex et al. with LLCoros aliases.Nat Goodspeed
Specifically: LLCoros::Mutex means boost::fibers::mutex LLCoros::LockType means std::unique_lock<boost::fibers::mutex> LLCoros::ConditionVariable means boost::fibers::condition_variable LLCoros::cv_status means boost::fibers::cv_status So as not to drag in all of boost::fibers::mutex.hpp or condition_variable.hpp for each consumer of llcoros.h, instead #define LLCOROS_MUTEX_HEADER and LLCOROS_CONDVAR_HEADER. Those who need them can #include the relevant macro. Update llcond.h and llthreadsafequeue.h accordingly.
2020-05-14SL-12026 Fix issue with constant bridge recreation for animeshesAndrey Kleshchev
2020-05-14SL-13174 FIXED Changed sequence of worn items could not be savedMnikolenko Productengine
2020-05-14DRTVWR-476: Make LLSDFormatter::OPTIONS_PRETTY_BINARY uppercaseNat Goodspeed
for compatibility with Python llbase.llsd.parse(). The Python parse() currently requires uppercase hex digits for b16"hex" coding; lowercase hex digits cause it to raise LLSDParseError.
2020-05-14DRTVWR-476: Fix LLError::Log::classname(T*) template function.Nat Goodspeed
First, the signature classname(const T*) was wrong: that function could only accept a pointer to const T. The expression classname(someptr) where someptr was a pointer to non-const SomeType displayed "SomeType*" because it could only match classname(const T&), where T was SomeType*. classname(T* const) is what we should have written, meaning "const pointer to T" rather than "pointer to const T." Second, the previous implementation failed to handle the case in which the pointer was nullptr.
2020-05-14SL-12014 fixed transparency issues caused by merge with eepAndrey Kleshchev
2020-05-14SL-12014 fixed wrong pool type checkAndrey Kleshchev
2020-05-14Revert SL-8191 due to it no longer being validAndrey Kleshchev
This reverts commit 4c006e76e39a8b59dc6f9c890e5a27d38b5ece50. Since EEP there are no 'basic shaders' and doing this in llfloatersettingsdebug was wrong either way
2020-05-14Merged in SL-12090 (pull request #105)Andrey Lihatskiy
SL-12090 Initialize the joystick only when required * SL-12090 Initialize the joystick only when required Approved-by: Andrey Kleshchev
2020-05-13DRTVWR-476: Default LLSDNotationFormatter now OPTIONS_PRETTY_BINARY.Nat Goodspeed
LLSDNotationFormatter (also LLSDNotationStreamer that uses it, plus operator<<(std::ostream&, const LLSD&) that uses LLSDNotationStreamer) is most useful for displaying LLSD to a human, e.g. for logging. Having the default dump raw binary bytes into the log file is not only suboptimal, it can truncate the output if one of those bytes is '\0'. (This is a problem with the logging subsystem, but that's a story for another day.) Use OPTIONS_PRETTY_BINARY wherever there is a default LLSDFormatter ::EFormatterOptions argument. Also, allow setting LLSDFormatter subclass boolalpha(), realFormat() and format(options) using optional constructor arguments. Naturally, each subclass that supports this must accept and forward these constructor arguments to its LLSDFormatter base class constructor. Fix a couple bugs in LLSDNotationFormatter::format_impl() for an LLSD::Binary value with OPTIONS_PRETTY_BINARY: - The code unconditionally emitted a b(len) type prefix followed by either raw binary or hex, depending on the option flag. OPTIONS_PRETTY_BINARY caused it to emit "0x" before the hex representation of the data. This is wrong in that it can't be read back by either the C++ or the Python LLSD parser. Correct OPTIONS_PRETTY_BINARY formatting consists of b16"hex digits" rather than b(len)"raw bytes". - Although the code did set hex mode, it didn't set either the field width or the fill character, so that a byte value less than 16 would emit a single digit rather than two. Instead of having one LLSDFormatter::format() method with an optional options argument, declare two overloads. The format() overload without options passes the mOptions data member to the overload accepting options. Refactor the LLSDFormatter family, hoisting the recursive format_impl() method (accepting level) to a pure virtual method at LLSDFormatter base-class level. Most subclasses therefore need not override either base-class format() method, only format_impl(). In fact the short format() overload isn't even virtual. Consistently use LLSDFormatter::EFormatterOptions enum as the options parameter wherever such options are accepted.
2020-05-13SL-13034 Fixed mac build errorAndrey Kleshchev
2020-05-13SL-12007 Toggling 'Transparent water' checkbox has no effectAndrey Kleshchev
Opaque water is not compatible with ALM
2020-05-13SL-13034 Last string in logs should say 'Goodbye'Andrey Kleshchev
Speaker volume saving was last instead of 'Goodbye'.
2020-05-12SL-13189 Mesh uploader - Autofill from _postfixesMnikolenko Productengine
2020-05-12SL-13064 Reverted changes that were causing Artifacts at HD620Andrey Kleshchev
2020-05-11DRTVWR-476: Remove /showIncludes from llwindow project.Nat Goodspeed
2020-05-11DRTVWR-476: Use find_library(dxguid) rather than find_path().Nat Goodspeed
2020-05-08SL-12963 Additional environment debug outputAndrey Kleshchev
2020-05-08SL-12396 FIXED Last line can't be removed if it was selected via triple-clickingMnikolenko Productengine
2020-05-07DRTVWR-476: Whack-A-Mole not working, put switch on ALL llwindowNat Goodspeed
2020-05-07DRTVWR-476: Add /showIncludes to additional source files.Nat Goodspeed
Having it on just one source file was frustrating because the project build failed before it reached the one source file with the switch.