Commit Graph

46003 Commits (a1931d8cc4820eb4e20f1346fc7c3e0139c5863b)

Author SHA1 Message Date
Andrey Kleshchev a1931d8cc4 SL-18735 Using "Find original" in main inventory tab breaks inventory view
Fixes folders being invidible (missing arrange)
Fixes sroll to target not working reliably
2023-01-16 20:42:20 +02:00
Andrey Kleshchev 484e3b6213 Merge branch 'xcode-14.1' into DRTVWR-577-maint-S
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-16 20:07:02 +02:00
Andrey Kleshchev 77a42cb8d6 Merge branch 'contribute' into DRTVWR-577-maint-S 2023-01-16 20:04:57 +02:00
Pantera Północy b34d209abc
SL-18937 Add missing panel_* files in Polish translation (#50) 2023-01-16 20:03:58 +02:00
Andrey Kleshchev de77dc3ed3 MacOS Build fix 2023-01-16 19:52:35 +02:00
Andrey Lihatskiy bea930071f Merge branch 'contribute' into DRTVWR-577-maint-S 2023-01-16 07:05:01 +02:00
Andrey Kleshchev 5d6371f568 SL-18937 Update contributions 2023-01-10 20:05:01 +02:00
akleshchev 9dcf206691
SL-18937 Merge pull request #45 from PanteraPolnocy/contribute
Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs
2023-01-10 19:47:53 +02:00
akleshchev f3cd329b58
SL-18911 My Land Holdings floater crashes viewer on the Xcode/+Monterey 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-10 19:38:44 +02:00
Fawrsk 7419037ef6
SL-18893 Fixes for pull requests #38, #41, and #42 (#46)
Eliminate unnecessary copies, and remove uses of auto
2023-01-10 11:43:27 +02:00
akleshchev 9c250f1a9e
SL-18893 Cleanup for loops in llcommon to use C++11 range based for loops (#44)
* Cleanup for loops in llcommon to use C++11 range based for loops
* Eliminate needless copies
2023-01-10 11:38:34 +02:00
Fawrsk 8767e6995b Eliminate needless copies 2023-01-09 19:19:12 -04:00
PanteraPolnocy 77444ca356 Translate missing control_*, floater_* menu_* and few panel_* files in Polish directory; Fix localizability in various English XMLs 2023-01-07 20:36:50 +01:00
Fawrsk 9e743c99fb Cleanup for loops in llcommon to use C++11 range based for loops 2023-01-07 00:38:12 -04:00
Fawrsk d0f115ae09
SL-18893 Cleanup for loops in llcharacter to use C++11 range based for loops (#42) 2023-01-05 13:42:27 +02:00
Fawrsk bdfb47cc6b
SL-18893 Clean up for loops in llaudio to use C++11 range based for loops (#41) 2023-01-05 03:06:12 +02:00
Nat Goodspeed 99c040ea99 DRTVWR-575: Fix possible bad indexing in LLSD::operator[](size_t).
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-04 17:18:31 -05:00
Andrey Kleshchev 64a42aceba SL-18904 Remove unused translation files 2023-01-04 23:52:41 +02:00
akleshchev 5bc16b94cc
SL-18904 Merge pull request #40 from PanteraPolnocy
A small batch of changes in Polish translation subdirectory
2023-01-04 23:36:40 +02:00
Andrey Kleshchev 5ea7cec092 SL-18893 Update list of contributors 2023-01-04 22:21:20 +02:00
Nat Goodspeed 4093d5b1eb DRTVWR-575: Use llsdutil.h functions for LLFloaterLandHoldings LLSD
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-04 15:13:02 -05:00
Nat Goodspeed aa112ef17f DRTVWR-575: Fix bug in macOS micro_sleep().
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-04 12:04:56 -05:00
Nat Goodspeed bb718155bd DRTVWR-575: Replace some LLSDArray() usage with llsd::array().
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-03 18:06:45 -05:00
PanteraPolnocy bfa8239361 Polish translation: Leftovers cleanup (files not present in /en/) 2023-01-03 23:21:24 +01:00
PanteraPolnocy 030be1d14f Widgets cleanup in Polish translation (up to 6.6.9), fix translatability for density_ctrl.xml file 2023-01-03 23:03:17 +01:00
Fawrsk 74a9280c69
SL-18893 Clean up for loops in llappearance to use C++11 range based for loops (#38) 2023-01-03 23:08:15 +02:00
Pantera Północy 43496fe04e
SL-18891 Remove duplicate entry in settings file 2023-01-03 21:49:23 +02:00
Andrey Kleshchev 9ef48676d4 SL-18874 Rigged mesh upload crash when using Bounding Box physics 2023-01-03 14:36:11 +02:00
Andrey Kleshchev 796d97d190 SL-18384 Fix NSException for keyboard handling
Affects accent keys for diacritical marks
2022-12-14 20:55:22 +02:00
Andrey Kleshchev 0ffe9ff0ae SL-15175 Updates for TP states while the viewer is minimized 2022-12-13 21:25:16 +02:00
akleshchev e5bd3fc5fe
SL-15175 Merge pull request #26 from sldevel/contribute
Fix failures to update the TP states while the viewer is minimized.
2022-12-13 04:20:42 +02:00
Nat Goodspeed fe4f0fc728 DRTVWR-565: Merge branch 'main' into contribute 2022-12-12 15:27:38 -05:00
Nat Goodspeed 6a97e13115 DRTVWR-565: Merge branch 'master' into contribute 2022-12-12 15:24:29 -05:00
Nat Goodspeed a0c3d69c62 Increment viewer version to 6.6.9
following promotion of DRTVWR-565
2022-12-12 13:41:50 -05:00
Nat Goodspeed 12f66fda13 DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565 2022-12-12 13:27:57 -05:00
Andrey Kleshchev 2b7ba3f904 Merge branch 'xcode-14.1' into contribute 2022-12-12 17:44:47 +02:00
Andrey Kleshchev 80e3950781 SL-8839 Make About Land resizable 2022-12-12 17:21:55 +02:00
nat-goodspeed 95f682f127
Merge pull request #28 from secondlife/sl-14399
SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
2022-12-08 13:33:29 -05:00
Andrey Kleshchev f064cba436 SL-14399 Remove obsolete code
mCoroWaitList covers all assets not just landmarks
2022-12-07 20:21:25 +02:00
Nat Goodspeed 769bf46a3f SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
mCoroWaitList was introduced to prevent an assertion failure crash:
LLCoprocedureManager never expects to fill LLCoprocedurePool::mPendingCoprocs
queue. The queue limit was arbitrarily set to 4096 some years ago, but in
practice LLViewerAssetStorage can post way more requests than that.

LLViewerAssetStorage checked whether the target LLCoprocedureManager pool's
queue looked close to full, and if so posted the pending request to its
mCoroWaitList instead. But then it had to override the base LLAssetStorage
method checkForTimeouts() to continually check whether pending tasks could be
moved from mCoroWaitList to LLCoprocedureManager.

A simpler solution is to enlarge LLCorpocedureManager::DEFAULT_QUEUE_SIZE, the
upper limit on mPendingCoprocs. Since mCoroWaitList was an unlimited queue,
making DEFAULT_QUEUE_SIZE "very large" does not increase the risk of runaway
memory consumption.
2022-12-07 09:50:02 -05:00
Henri Beauchamp 0dd287df28 Fix failures to update the TP states while the viewer is minimized.
This is a fix for: https://jira.secondlife.com/browse/BUG-230616
2022-12-07 00:01:34 +01:00
Nat Goodspeed 7d9249d180 DRTVWR-575: Try to avoid comparison warnings in llclamp() 2022-12-06 17:16:56 -05:00
Nat Goodspeed 9a7e638b67 DRTVWR-575: Defend unescape_string() against empty line.
The unsigned index arithmetic was problematic in that case.
2022-12-06 15:46:05 -05:00
Nat Goodspeed db1d757aeb DRTVWR-575: Update a few more int lengths in llsdserialize.{h,cpp}. 2022-12-06 14:40:11 -05:00
Nat Goodspeed 73aced620f DRTVWR-575: Use llssize (signed size_t) for max_bytes parameters.
Since LLSDSerialize::SIZE_UNLIMITED is negative, passing that through unsigned
size_t parameters could result in peculiar behavior.
2022-12-06 13:59:06 -05:00
Nat Goodspeed 8f6ffd489d DRTVWR-575: Introduce LLKeyBind::endNonEmpty()
and use it to replace dubious loops in asLLSD() and trimEmpty().
2022-12-06 13:04:35 -05:00
Nat Goodspeed 8ff81fc7a5 DRTVWR-575: Keep BufferArray::findBlock() in int domain. 2022-12-06 11:16:55 -05:00
Andrey Kleshchev 6de5986333 SL-18718 Crash at LLEventPump::listen and connection issues
Cleaner reinit and termination.
2022-11-28 17:25:43 +02:00
Andrey Lihatskiy e0f7b4d04b Merge branch 'main' into DRTVWR-565-maint-P 2022-11-23 00:33:33 +02:00
Signal Linden 59b826e66e
Merge pull request #4 from secondlife/signal/stale
Close stale PRs
2022-11-21 16:02:02 -08:00