Commit Graph

46028 Commits (99779d97f1e4650c7d46f1d97d5d70e2aacfbdb8)

Author SHA1 Message Date
Callum Prentice 99779d97f1 DRTVWR-489-emoji: Pull in the updated version of GoogleMock that was updated to Python3 so that it builds on macOS in TeamCity 2023-01-26 17:46:56 -08:00
Callum Prentice d9e82ab14a DRTVWR-489-emoji: Pull in some small changes from Kitty's work to move the macOS build forwards 2023-01-26 17:04:35 -08:00
Callum Prentice a804b98e4e DRTVWR-489-emoji: A couple of tabs slipped into this file and our new no-tabs coding policy caught it and failed the build 2023-01-26 17:03:58 -08:00
Callum Prentice 3185bdea27 DRTVWR-489-emoji: As part of the work to get macOS version of the Viewer working, the flag was introduced to warn (and therefore error out) when a virtual override was not marked with the 'override' keyword. Fixing this up involved a large number of changes and this commit represents just those changes - nothing specially from the DRTVWR-489 viewer 2023-01-26 14:45:45 -08:00
Callum Prentice fb00bce81a Merge branch 'xcode-14.1' into DRTVWR-489-emoji 2023-01-26 10:37:59 -08:00
Callum Linden 66f59478d0 DRTVWR-489-emoji: declaring this variable as a U16 leads to a warning (and therefore an error) but only on 32bit Windows builds - 64bit is fine. I don't know why that's the case (should be both surely) but in any case, I think the variable should be declared as a size_t 2023-01-25 10:57:29 -08:00
Callum Linden 5dcdf83304 DRTVWR-489-emoji: Trying to get to the bottom of a TeamCity build failure with access to TeramCity - with all the ICU4C DLLs removed, the viewer builds fine which does suggest a size/disk space issue. Trying with the (porposed) minimum set to see if this helps. Likely it won't because the main one (icudt48.dll) is much, much bigger than the others combined - but we shall see 2023-01-24 16:00:53 -08:00
Callum Linden 054f571515 DRTVWR-489-emoji: Trying to get to the bottom of a TeamCity build failure with access to TeramCity - one theory is that the extra size of these DLLs consumes too much disk space and results in the NSIS internal compiler error we observe - removing these tempoorarily to see what difference that makes 2023-01-24 13:14:25 -08:00
Callum Linden a3e80762f1 DRTVWR-489-emoji: Fix a warning when packaging Viewer installer. TeamCity builds fail because of 'compiler error' in NSIS - wondering if this warning triggers the error (it doesn't locally) - yes, grasphing at straws 2023-01-24 11:07:56 -08:00
Callum Linden 68b59629c4 DRTVWR-489-emoji: Pull in the updated ICU4C package that puts the libs and dlls in the right place for the Windows builds 2023-01-23 17:21:52 -08:00
Callum Linden f9fbd0333a DRTVWR-489-emoji: Update the machinery that copies over the ICU4C DLLs into the right place in Windows builds 2023-01-23 15:10:17 -08:00
Callum Linden 64e84924d4 DRTVWR-489-emoji: Pull in updated viewer-fonts package that includes 'missing' Tweenmoji SVG font 2023-01-23 12:36:37 -08:00
Callum Linden 44a5519fb0 DRTVWR-489-emoji: Pull in an updated version of 3p-icu4c that correctly copies over the Windows DLLs as part of the build process 2023-01-20 17:18:13 -08:00
Callum Linden cbb7480ca7 Fix merge conflicts after auto merge 2023-01-20 16:23:41 -08:00
Callum Linden 80bc32c3ef Pull in (a) version of ICU4C - this one was built with VS 2019 and not VS 2017 like everything else. The work to do this is large and we are switching soon to VS 2022 so this will do for now 2023-01-20 15:17:45 -08:00
Callum Linden 7a3ef9e5ac DRTVWR-489-emoji: following kitty's recipe for emoji viewer - this pulls in 3p library changes for steps 1-5 (boost, colladom, googlemock, nanosvg, viewer-fonts) - final 3p change (ICU4C) coming later 2023-01-19 17:40:16 -08: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
Kitty Barnett 12204b210e Merge remote-tracking branch 'origin/master' into DRTVWR-489-emoji 2023-01-06 16:40:33 +01: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
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
Callum Prentice 6daa0a9ecb Merge branch 'main' into DRTVWR-489-emoji 2022-12-12 11:05:24 -08: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 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
RunitaiLinden f3f3c493ec
Merge pull request #6 from sldevel/master
Fix a thread safety issue in the GL image worker.
2022-11-21 17:50:37 -06:00
Andrey Kleshchev 9ea7526f60 SL-18565 Prevent texture fetch crash on second login attempt 2022-11-22 01:24:47 +02:00
Bennett Goble c8f08f232a SL-18218: Switch canonical_repo to GitHub URL 2022-11-21 11:51:53 -08:00
Andrey Kleshchev 96f0c95898 Merge branch master into DRTVWR-565-maint-P 2022-11-21 20:48:24 +02:00
Andrey Kleshchev 45b26b2444 SL-18565 restoreGL should re-add bumpmaps 2022-11-21 20:22:47 +02:00
Henri Beauchamp 9c5043d8c6 Fix a thread safety issue in the GL image worker.
LLViewerTexture::mNeedsCreateTexture needs to be an attomic bool since
it is written both in the main thread and in the GL image worker thread.

We can now enable threaded bump maps creation as a result of this fix.

I have read the CLA Document and I hereby sign the CLA
2022-11-19 21:42:41 +01:00
Signal Linden 783926e124
Merge pull request #1 from FelixWolf/CZ-1
Various repo fixes
2022-11-18 14:22:49 -08:00
Kyler Eastridge ee37ea4aa7 Renamed LICENSE.txt to follow naming scheme of other repos 2022-11-18 17:10:03 -05:00
Signal Linden f7f163f010
Merge pull request #3 from secondlife/signal/label
Add automatic PR labels
2022-11-18 08:42:14 -08:00
Signal Linden 5c77f900ac
Merge pull request #2 from secondlife/signal/cla
Add CLA bot
2022-11-18 08:41:43 -08:00
Bennett Goble e75104b066 Add automatic PR labels 2022-11-18 07:39:54 -08:00
Bennett Goble eaf55065e2 Add CLA bot 2022-11-18 07:30:38 -08:00
Kyler Eastridge 14f34041b8 Add copy of license to root directory so it is recognized by gh 2022-11-18 06:24:43 -05:00
Kyler Eastridge 35d2771cd3 Fix spelling error on license file name 2022-11-18 06:23:11 -05:00
Kyler Eastridge 4a33a0edb2 Fix readme logo for dark theme sites 2022-11-18 06:22:43 -05:00
Kitty Barnett 58a329be66 Merge branch 'DRTVWR-489-emoji' into DRTVWR-489-emoji 2022-11-16 20:16:28 +01:00
Bennett Goble 55103bff6d Merge remote-tracking branch 'github/master' 2022-11-15 08:14:39 -08:00
Andrey Lihatskiy 24993a914f SL-18637 Reverted material shader changes
original fix by Beq Janus
2022-11-14 23:58:14 +02:00