summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2023-09-12DRTVWR-588: Merge 'DRTVWR-588-maint-W' into DRTVWR-588-cleanup-timersNat Goodspeed
2023-09-12DRTVWR-588: Move LLSingleton dependency on LLMainThreadTask to .cpp.Nat Goodspeed
Introduce LLSingletonBase::getInstanceForSecondaryThread(), used both by LLSingleton and LLParamSingleton. Because it's a method of the non-template base class, because it's not itself a template method, getInstanceForSecondaryThread()'s definition can live in llsingleton.cpp. This is what calls LLMainThreadTask::dispatch(). To support LLParamSingleton, though, getInstanceForSecondaryThread() must be capable of handling arguments. For that, it accepts a nullary std::function returning the LLSingletonBase* of interest. Packing initParamSingleton() arguments into a nullary std::function to pass to getInstanceForSecondaryThread() sounds like a job for std::bind(). Unfortunately std::bind() has trouble forwarding int and string literals to a function that infers its argument types. To work around that, use boost::call_traits::param_type and a lambda with an explicit tuple.
2023-09-12DRTVWR-588: Reimplement LLMainThreadTask based on WorkQueueNat Goodspeed
instead of on LLEventTimer. LLEventTimer takes cycles from the main loop to run through the collection of pending LLEventTimers, checking each to see if we've reached its timestamp. But LLMainThreadTask does not require delay timing; it wants the main loop to service it ASAP. That's what the "mainloop" WorkQueue is for. But WorkQueue::waitForResult() forbids calls from a thread's default coroutine. While that restriction may still make sense in general, we specifically want to be able to pause LLMainThreadTask's caller, no matter what coroutine it's running on. Introduce WorkQueue::waitForResult_() that bypasses the check.
2023-09-12DRTVWR-588: Fix a couple merge glitches in llsdserialize_test.cpp.Nat Goodspeed
2023-09-12SL-18837: GH-built apr_suite no longer includes apriconv.Nat Goodspeed
We had to switch to APR's partially-supported CMake builds, but apriconv has no upstream CMake config.
2023-09-12 SL-20173 show notification when file is emptyMnikolenko Productengine
2023-09-11DRTVWR-588: Merge 'DRTVWR-588-maint-W' into DRTVWR-588-cleanup-timersNat Goodspeed
2023-09-05SL-19887 Water cuts avatar's name bubble (update)Alexander Gavriliuk
2023-09-05SL-18399 'DisableCameraConstraints' debug setting is not working on RCAlexander Gavriliuk
2023-09-04SL-20205 Clipping of label "Water"Andrey Kleshchev
2023-09-04DRTWVR-588 xcode buildfix (for TC)Andrey Lihatskiy
2023-09-04Fix spelling error in source filesPanteraPolnocy
2023-09-04DRTWVR-588 xcode buildfixAndrey Lihatskiy
2023-09-02SL-20236 BugSplat Crash in LLVertexBuffer::validateRange(708)Alexander Gavriliuk
2023-09-01SL-19664 Crash in LLAppViewer::initStrings(2985) - log extended infoAlexander Gavriliuk
2023-09-01SL-20243 Make viewer notice 403 from release-notes URL and handle itAndrey Kleshchev
2023-09-01SL-19664 Crash in LLAppViewer::initStrings - make the error message more ↵Alexander Gavriliuk
informative
2023-09-01MacOS build fixAndrey Kleshchev
2023-08-31SL-20226 Object Profile Floater Stays As Inactive Transparency When ActiveAlexander Gavriliuk
2023-08-30SL-20222 update information page linkMnikolenko Productengine
2023-08-28SL-20171 use nametag position to draw voice indication dotMnikolenko Productengine
2023-08-24SL-18620 Statistics->Advanced->Memory Usage no longer updatingAlexander Gavriliuk
2023-08-23Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2023-08-23Increment viewer version to 6.6.15Vir Linden
following promotion of DRTVWR-582
2023-08-23SL-19299 Code formatting in modified filesAlexander Gavriliuk
2023-08-23SL-19299 Viewer crashes after change 'Pick a physics model:' dropdownAlexander Gavriliuk
2023-08-23SL-20189 Crash at LLViewerMediaTexture::addFaceAndrey Kleshchev
2023-08-22SL-20182 dirtyFilter crash while accessing parentAndrey Kleshchev
2023-08-21SL-20173 show warning notification when trying to add invalid files as local ↵Maxim Nikolenko
texture
2023-08-21SL-20140 Setting shape hand size to 36 won't saveAlexander Gavriliuk
2023-08-20SL-20140 Fix formatting file llpaneleditwearable.cppAlexander Gavriliuk
2023-08-18SL-20140 Optimization LLDictionary::addEntry() - avoid of double searchAlexander Gavriliuk
2023-08-17DRTVWR-588: Try even harder to normalize Windows pathnames (SIGHH)Nat Goodspeed
2023-08-17DRTVWR-588: Merge branch 'DRTVWR-588-maint-W' into DRTVWR-588-cleanup-timersNat Goodspeed
2023-08-17Merge pull request #332 from secondlife/DRTVWR-588-montereynat-goodspeed
Remove unused counters that cause fatal warnings
2023-08-17SL-20158 FIXED Ctrl+H shortcut acts erratically when Nearby Chat floater is ↵Mnikolenko Productengine
undocked
2023-08-17DRTVWR-588: To write b'\n' in Python source, use "b'\\n'"Nat Goodspeed
2023-08-17DRTVWR-588: Try harder to normalize Windows pathames to compare.Nat Goodspeed
2023-08-17DRTVWR-588: print(file=) to binary file still requires str argument.Nat Goodspeed
Use f.writelines((bytes, b'\n')) instead.
2023-08-17DRTVWR-588: Correct typo in deprecation warning.Nat Goodspeed
2023-08-17DRTVWR-588: Remove some unused redundant timer functionality.Nat Goodspeed
LLEventTimer supported static run_every(), run_at() and run_after() methods to schedule future work. This can still be done by deriving from LLEventTimer, but is better accomplished with a WorkSchedule instance. These convenience methods, which encourage use of LLEventTimer insted of WorkSchedule, weren't used except by LLEventTimeout. Remove them and the LLEventTimer::Generic subclass used to implement them. Similarly, LLEventTimeout supported static post_every(), post_at() and post_after() methods based on LLEventTimer::run_every(), run_at() and run_after(). These weren't used either. LLRunner is a very old mechanism to schedule future work that seems to be unused. Research suggests that it's indirectly engaged only by LLDeferredChain, which isn't used. LLIOSleeper is tested but isn't otherwise used. Add a deprecation warning to llrun.h prior to excision. Also replace Boost.Bind with lambdas.
2023-08-17DRTVWR-588: Remove Boost Phoenix, Bind and Assign from some tests.Nat Goodspeed
llsdserialize_test used Boost.Foreach, Boost.Function and Boost.Bind. llleap_test used Boost.Assign. Both used Boost.Phoenix. Replace Boost.Foreach with range 'for'. Replace Boost.Function with std::function. Replace Boost.Assign with initializer lists. Replace Boost.Bind and Boost.Phoenix with lambdas.
2023-08-17DRTVWR-588: Eliminate APR and Boost.Phoenix from NamedTempFile.Nat Goodspeed
NamedTempFile used to use APR calls to discover a suitable temp directory, synthesize a temp filename template, generate the unique file, write its content and ultimately delete it. This required a reference to gAPRPoolp as the default value of an optional constructor argument in case some usage demanded an alternative APR memory pool. It also used Boost.Phoenix placeholders to magically synthesize a callable. Replace APR calls with Boost.Filesystem; replace Boost.Phoenix with lambdas. Break out unique path generation logic as static NamedTempFile::temp_path(). In a nod to GitHub Actions builds, honor RUNNER_TEMP environment variable if set. test.cpp's RecordToTempFile need no longer pass an apr_pool_t* to NamedTempFile. NamedTempFile's constructor now accepts an optional suffix, making subclass NamedExtTempFile nearly trivial. It no longer needs to create or remove a symlink, for which it used to use APR calls. llprocess_test.cpp's NamedTempDir used to use Python's tempfile.mkdtemp() to create a temp directory, and apr_dir_remove() to destroy it. Replace both with NamedTempFile::temp_path() and Boost.Filesystem. Also add diagnostic output for LLProcess test failure. If llprocess_test cannot launch a child process, notice the APR_LOG environment variable recognized by our patched apr_suite to engage logging, and report the contents of that file.
2023-08-17DRTVWR-588: Finally ditch LL_USE_SYSTEM_RAND code in llrand.cpp.Nat Goodspeed
This conditional code hasn't been used since June 2008, possibly even earlier.
2023-08-16DRTVWR-588: Merge branch 'fix-monterey' into DRTVWR-588-montereyNat Goodspeed
2023-08-15SL-20139 pressing the Tab key should paste tooltip only when hovering ↵Maxim Nikolenko
functions in LSL editor
2023-08-15SL-20146 Statistic bar collapsed/expanded accordions not savingAlexander Gavriliuk
2023-08-14SL-19528 Remove PERMISSION_DEBIT warning (revert recent change)Alexander Gavriliuk
2023-08-14SL-20144 remove the code related to non-existent button; remove ↵Mnikolenko Productengine
inappropriate param
2023-08-12SL-18721 Viewer shutdown order changesAndrey Kleshchev
Same thing as commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99 which was removed due to shutdown freezes. Error thread is no longer there so doesn't cause any race sonditions, was not able to repro any issues so will ask QA to test shutdown