summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
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!
2022-12-20SL-18426 At log in only a part friends reported to chat as onlineAndrey Kleshchev
Server sends updates in bulk now, so notify per agent instead of per update
2022-12-16SL-18384 Fix NSException for keyboard handlingAndrey Kleshchev
Affects accent keys for diacritical marks
2022-12-12Merge branch 'main' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/app_settings/shaders/class1/deferred/materialF.glsl # indra/newview/llfloater360capture.cpp
2022-12-12Increment viewer version to 6.6.9Nat Goodspeed
following promotion of DRTVWR-565
2022-12-12SL-16874 Added tool tips to buttons displayed by llDialog()Andrey Lihatskiy
2022-12-12SL-18826 limit teleport command usageMaxim Nikolenko
2022-12-06DRTVWR-575: Try to avoid comparison warnings in llclamp()Nat Goodspeed
2022-12-06DRTVWR-575: Defend unescape_string() against empty line.Nat Goodspeed
The unsigned index arithmetic was problematic in that case.
2022-12-06DRTVWR-575: Update a few more int lengths in llsdserialize.{h,cpp}.Nat Goodspeed
2022-12-06DRTVWR-575: Use llssize (signed size_t) for max_bytes parameters.Nat Goodspeed
Since LLSDSerialize::SIZE_UNLIMITED is negative, passing that through unsigned size_t parameters could result in peculiar behavior.
2022-12-06DRTVWR-575: Introduce LLKeyBind::endNonEmpty()Nat Goodspeed
and use it to replace dubious loops in asLLSD() and trimEmpty().
2022-12-06DRTVWR-575: Keep BufferArray::findBlock() in int domain.Nat Goodspeed
2022-12-06SL-18778 Crash at LLVoiceClient::removeObserver (#25)akleshchev
2022-12-03SL-18486 Complete Avatars floater is blank.Maxim Nikolenko
2022-12-01SL-18243 Add wear and unwear buttons on line items in Outfits floaterMaxim Nikolenko
2022-11-28SL-18718 Crash at LLEventPump::listen and connection issuesAndrey Kleshchev
Cleaner reinit and termination.
2022-11-22SL-18219 Crash getting and sending render info on exitAndrey Kleshchev
There might be other causes for sendRenderInfoToRegion and getRenderInfoFromRegion, crashing, but in some cases viewer was shutting down
2022-11-22Merge branch 'inventory_extensions', remote-tracking branch 'origin' into ↵Brad Payne (Vir Linden)
DRTVWR-567
2022-11-22SL-18629 - use AISAPI for some paths of new category creationBrad Payne (Vir Linden)
2022-11-22SL-18689 Crash at LLTabContainer::selectNextTab()Andrey Kleshchev
FPE_NOOP at "idx = (idx + 1 ) % (S32)mTabList.size();"
2022-11-22SL-18565 Prevent texture fetch crash on second login attemptAndrey Kleshchev
2022-11-21SL-18565 restoreGL should re-add bumpmapsAndrey Kleshchev
2022-11-21SL-18629 - moving createNewCategory to AIS3Brad Payne (Vir Linden)
2022-11-19Fix a thread safety issue in the GL image worker.Henri Beauchamp
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-17SL-15869 Do not account for login menu when checking if key combination is ↵Andrey Kleshchev
avaliable Ex: Allow mapping actions to Ctrl+Alt+D
2022-11-14SL-18637 Reverted material shader changesAndrey Lihatskiy
original fix by Beq Janus
2022-11-13DRTVWR-575: Explain that NSInteger is really int64_t.Nat Goodspeed
2022-11-13DRTVWR-575: Merge brad's xcode-14.1 fixes with nat'sNat Goodspeed
2022-11-12DRTVWR-575: Address review comments on Xcode 14.1 type tweaks.Nat Goodspeed
Introduce LLSD template constructors and assignment operators to disambiguate construction or assignment from any integer type to Integer, likewise any floating point type to Real. Use new narrow() function to validate conversions. For LLSD method parameters converted from LLSD::Integer to size_t, where the method previously checked for a negative argument, make it now check for size_t converted from negative: in other words, more than S32_MAX. The risk of having a parameter forced from negative to unsigned exceeds the risk of a valid length or index over that max. In lltracerecording.cpp's PeriodicRecording, now that mCurPeriod and mNumRecordedPeriods are size_t instead of S32, defend against subtracting 1 from 0. Use narrow() to validate newly-introduced narrowing conversions. Make llclamp() return the type of the raw input value, even if the types of the boundary values differ. std::ostream::tellp() no longer returns a value we can directly report as a number. Cast to U64.
2022-11-11DRTVWR-575 fix LLGetDarwinOSInfo for xcode-14.1. NSInteger is now 64 bitsBrad Kittenbrink
2022-11-11DRTVWR-575 fix LLWorkerThread subclasses to be compatiblie with recent ↵Brad Kittenbrink
size_t changes in base class
2022-11-11DRTVWR-575 xcode-14.1 compatibility fix. add more overloads for stricter ↵Brad Kittenbrink
size_t conversions
2022-11-11DRTVWR-575 xcode-14.1 compatibility fix. add overloads for stricter integer ↵Brad Kittenbrink
conversions
2022-11-09Merge remote-tracking branch ↵Andrey Lihatskiy
'BeqJanus/ll-viewer-pull-requests/Beq-alpha-mask-on-emissive-fix' into DRTVWR-570-maint-Q
2022-11-09Merge remote-tracking branch 'ZiRee/viewer/master' into DRTVWR-570-maint-QAndrey Lihatskiy
2022-11-05[BUG-232834][BUG-232871] Alpha mask is being applied with emissive maskBeq
This is the most local fix for this issue, addressing the specific unqualified use of HAS_ALPHA_MASK. If we find other issues with alpha mask being applied incorrectly then, it may be better to fix higher up in llvieweshadermgr.cpp by reverting the changes from SL-17532. For now, this way works for this specific bug without non-emissive side-effects.
2022-11-05SL-18581 Don't show the starter avatar toolbar button for NUXAndrey Lihatskiy
2022-11-04DRTVWR-575: Introduce llssize (signed size_t) and narrow() function.Nat Goodspeed
llssize is for a function parameter that should accept a size or index (derived from size_t, which is 64 bits in a 64-bit viewer) but might need to go negative for flag values. We've historically used S32 for that purpose, but Xcode 14.1 complains about trying to pass size_t to S32. narrow() is a template function that casts a wider type (e.g. size_t or llssize) to a narrower type (e.g. S32 or U32), with validation in RelWithDebInfo builds. It verifies (using assert()) that the value being truncated can in fact fit into the target type.
2022-11-03SL-18565 Built-in bump maps and some environment textures fail to loadAndrey Kleshchev
Due to udp texture fetching no longer being present
2022-11-03DRTVWR-575: Suppress remaining size_t truncation warnings for now.Nat Goodspeed
2022-11-03DRTVWR-575: A few more tweaks addressing size_t wider than 32 bits.Nat Goodspeed
2022-11-03DRTVWR-575: Fix llcommon assumptions that size_t fits in 4 bytes.Nat Goodspeed
It's a little distressing how often we have historically coded S32 or U32 to pass a length or index. There are more such assumptions in other viewer subdirectories, but this is a start.
2022-11-03DRTVWR-575: Forbid Xcode 14.1 from implicitly signing every target.Nat Goodspeed
Or rather, attempting to implicitly sign. On TeamCity we must explicitly sign using viewer_manifest.py. On a developer system, without these changes, Xcode produces many errors of the form: error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'INTEGRATION_TEST_lldir' from project 'SecondLife') and refuses to compile anything at all. Thanks to Rye Mutt and NickyD. Also thanks Geir Nøklebye for additional settings to help tame Xcode 14.1 warnings.
2022-11-02SL-18136 fix for Japanese IMEMnikolenko Productengine
2022-11-02SL-18533 Updated ToS XUI with new languageAndrey Lihatskiy
2022-11-02Merge remote-tracking branch 'RyeMutt/viewer/mac-fixes' into DRTVWR-570-maint-QAndrey Lihatskiy
2022-11-01Merge branch 'master' into DRTVWR-565-maint-PAndrey Lihatskiy
2022-11-01Merge branch 'master' into DRTVWR-570-maint-QAndrey Lihatskiy