summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-07INTL-370Andrey Lihatskiy
INTL-370 Translate the word Feed for new Viewer Profiles
2023-02-02Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-01-31SL-19110 Fix coding policyAndrey Kleshchev
2023-01-31SL-19110 Fix xxhash build link and properly register contributionAndrey Kleshchev
2023-01-31SL-19110 Fast hashing classes for use in place of the slow LLMD5, where ↵Henri Beauchamp
speed matters. (#64) This commit adds the HBXX64 and HBXX128 classes for use as a drop-in replacement for the slow LLMD5 hashing class, where speed matters and backward compatibility (with standard hashing algorithms) and/or cryptographic hashing qualities are not required. It also replaces LLMD5 with HBXX* in a few existing hot (well, ok, just "warm" for some) paths meeting the above requirements, while paving the way for future use cases, such as in the DRTVWR-559 and sibling branches where the slow LLMD5 is used (e.g. to hash materials and vertex buffer cache entries), and could be use such a (way) faster algorithm with very significant benefits and no negative impact. Here is the comment I added in indra/llcommon/hbxx.h: // HBXXH* classes are to be used where speed matters and cryptographic quality // is not required (no "one-way" guarantee, though they are likely not worst in // this respect than MD5 which got busted and is now considered too weak). The // xxHash code they are built upon is vectorized and about 50 times faster than // MD5. A 64 bits hash class is also provided for when 128 bits of entropy are // not needed. The hashes collision rate is similar to MD5's. // See https://github.com/Cyan4973/xxHash#readme for details.
2023-01-28SL-19097 Crash when selecting a model for upload and waiting too longAndrey Kleshchev
Should be fixed by SL-18996, but just in case user decides to select a model while viewer closes
2023-01-27SL-18996 make MacOS picker dialogs modeless to avoid disconnects #2Andrey Kleshchev
2023-01-27SL-18996 [WIP] MacOS make picker dialogs non-modal to avoid disconnects #1Andrey Kleshchev
2023-01-24INTL-477 Translation update for Maint SAndrey Lihatskiy
2023-01-24SL-19025 Fix for object's context menuAndrey Kleshchev
Inspect and copy doesn't work for face or child selection. Disable them in such cases.
2023-01-21SL-18989 Saved notifications some times stops displaying informationAndrey Kleshchev
2023-01-18SL-3033 flv files prompt download instead of playingAndrey Kleshchev
Viewer doesn't support web downloads, it should be safe to assume stream and play it
2023-01-16Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-01-16SL-18893 OSX buildfixAndrey Lihatskiy
2023-01-16MacOS Build fixAndrey Kleshchev
2023-01-16SL-18735 Using "Find original" in main inventory tab breaks inventory viewAndrey Kleshchev
Fixes folders being invidible (missing arrange) Fixes sroll to target not working reliably
2023-01-16Merge branch 'xcode-14.1' into DRTVWR-577-maint-SAndrey Kleshchev
D577 should have picked part of the changes from contribute branch, picking up the rest for the sake of branch specific crash fixes
2023-01-16Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Kleshchev
2023-01-16SL-18937 Add missing panel_* files in Polish translation (#50)Pantera Północy
2023-01-16MacOS Build fixAndrey Kleshchev
2023-01-16Merge branch 'contribute' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-01-10SL-18937 Update contributionsAndrey Kleshchev
2023-01-10SL-18937 Merge pull request #45 from PanteraPolnocy/contributeakleshchev
Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs
2023-01-10SL-18911 My Land Holdings floater crashes viewer on the Xcode/+Monterey ↵akleshchev
branches (#47) Revert part of "DRTVWR-575: Address review comments on Xcode 14.1 type tweaks." Crash was reproduced when assigning areastr to llsd, but likely present in other cases of assigning ui strings to llsd (instead of going for lluistring's result directly copy constructor was engaged and either copy or original crashed due to invalid pointers, copy shouldn't have been created).
2023-01-10SL-18893 Fixes for pull requests #38, #41, and #42 (#46)Fawrsk
Eliminate unnecessary copies, and remove uses of auto
2023-01-10SL-18893 Cleanup for loops in llcommon to use C++11 range based for loops (#44)akleshchev
* Cleanup for loops in llcommon to use C++11 range based for loops * Eliminate needless copies
2023-01-09Eliminate needless copiesFawrsk
2023-01-07Translate missing control_*, floater_* menu_* and few panel_* files in ↵PanteraPolnocy
Polish directory; Fix localizability in various English XMLs
2023-01-07Cleanup for loops in llcommon to use C++11 range based for loopsFawrsk
2023-01-05SL-18893 Cleanup for loops in llcharacter to use C++11 range based for loops ↵Fawrsk
(#42)
2023-01-05SL-18893 Clean up for loops in llaudio to use C++11 range based for loops (#41)Fawrsk
2023-01-04DRTVWR-575: Fix possible bad indexing in LLSD::operator[](size_t).Nat Goodspeed
One could argue that passing a negative index to an LLSD array should do something other than shrug and reference element [0], but as that's legacy behavior, it seems all too likely that the viewer sometimes relies on it. This specific problem arises if the index passed to operator[]() is negative -- either with the previous Integer parameter or with size_t (which of course reinterprets the negative index as hugely positive). The non-const ImplArray::ref() overload checks parameter 'i' and, if it appears negative, sets internal 'index' to 0. But in the next stanza, if (index >= existing size()), it calls resize() to scale the internal array up to one more than the requested index. The trouble is that it passed resize(i + 1), not the adjusted resize(index + 1). With a requested index of exactly -1, that would pass resize(0), which would result in the ensuing array[0] reference being invalid. With a requested index less than -1, that would pass resize(hugely positive) -- since, whether operator[]() accepts signed LLSD::Integer or size_t, resize() accepts std::vector::size_type. Given that the footprint of an LLSD array element is at least a pointer, the number of bytes required for resize(hugely positive) is likely to exceed available heap storage. Passing the adjusted resize(index + 1) should defend against that case.
2023-01-04SL-18904 Remove unused translation filesAndrey Kleshchev
2023-01-04SL-18904 Merge pull request #40 from PanteraPolnocyakleshchev
A small batch of changes in Polish translation subdirectory
2023-01-04SL-18893 Update list of contributorsAndrey Kleshchev
2023-01-04DRTVWR-575: Use llsdutil.h functions for LLFloaterLandHoldings LLSDNat Goodspeed
LLFloaterLandHoldings::postBuild() was constructing an LLSD structure by assigning each map entry and array element one at a time. Chorazinallen identified a crash bug possibly caused by destroying that LLSD structure. Diagnostically try building it using nested llsd::map() and llsd::array() calls instead to see if that improves matters.
2023-01-04DRTVWR-575: Fix bug in macOS micro_sleep().Nat Goodspeed
The compiler was deducing an unsigned type for the difference (U64 desired microseconds - half KERNEL_SLEEP_INTERVAL_US). When the desired sleep was less than that constant, the difference went hugely positive, resulting in a very long snooze. Amusingly, forcing that U64 result into an S32 num_sleep_intervals worked only *because* of integer truncation: the high-order bits were discarded, resulting in a negative result as intended. Ensuring that both integer operands are signed at the outset, though, produces a more formally correct result.
2023-01-03DRTVWR-575: Replace some LLSDArray() usage with llsd::array().Nat Goodspeed
It seems newer compilers have a different interpretation of exactly when to engage LLSDArray's copy constructor. In particular, this assignment: some_LLSD_map[key] = LLSDArray(...)(...)...; used to convert the LLSDArray object directly to LLSD; now it first calls the custom copy constructor, which embeds the intended array within an outer array before assigning it into the containing map. The newer llsd::array() function avoids that problem because what it returns is already an LLSD object. Taking inventory of LLSDArray assignments of that form turned up a number of workarounds like LLSD(LLSDArray(...)). Replacing those with llsd::array() is both simpler and more readable. Tip of the hat to Chorazinallen for surfacing this issue!
2023-01-03Polish translation: Leftovers cleanup (files not present in /en/)PanteraPolnocy
2023-01-03Widgets cleanup in Polish translation (up to 6.6.9), fix translatability for ↵PanteraPolnocy
density_ctrl.xml file
2023-01-03SL-18893 Clean up for loops in llappearance to use C++11 range based for ↵Fawrsk
loops (#38)
2023-01-03SL-18891 Remove duplicate entry in settings filePantera Północy
2023-01-03SL-18874 Rigged mesh upload crash when using Bounding Box physicsAndrey Kleshchev
2022-12-14SL-18384 Fix NSException for keyboard handlingAndrey Kleshchev
Affects accent keys for diacritical marks
2022-12-13SL-15175 Updates for TP states while the viewer is minimizedAndrey Kleshchev
2022-12-13SL-15175 Merge pull request #26 from sldevel/contributeakleshchev
Fix failures to update the TP states while the viewer is minimized.
2022-12-12DRTVWR-565: Merge branch 'main' into contributeNat Goodspeed
2022-12-12DRTVWR-565: Merge branch 'master' into contributeNat Goodspeed
2022-12-12Increment viewer version to 6.6.9Nat Goodspeed
following promotion of DRTVWR-565
2022-12-12DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565Nat Goodspeed