summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2022-12-12Merge branch 'main' into DRTVWR-568Callum Prentice
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-12DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565Nat Goodspeed
2022-12-07SL-18801 Crash at LLPluginProcessParent::pollTick()Andrey Kleshchev
Looks like pollTick tried to call an already dead process
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-11-22Merge branch 'DRTVWR-568' into DRTVWR-539Mnikolenko Productengine
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 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 'ZiRee/viewer/master' into DRTVWR-570-maint-QAndrey 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-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-01Merge remote-tracking branch 'RyeMutt/viewer/llsd-usage-fixes' into ↵Andrey Lihatskiy
DRTVWR-570-maint-Q
2022-10-30Fix checks for empty LLSD maps to use size and not emptyMap which is for ↵Rye Mutt
creating an empty LLSDMap type.
2022-10-25Merge remote-tracking branch 'RyeMutt/viewer/pod-uuid' into DRTVWR-570-maint-QAndrey Lihatskiy
2022-10-25Restore LLUUID to a plain old data type in a post-c++11 worldRye Mutt
2022-10-24Merge master into DRTVWR-568 (and fix conflicts)Callum Linden
2022-10-23Remove ll::bugsplat as a llcommon depencencyNicky
In theory it is fine to do that, in practice it does break gatekeeper in subtle ways due to https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG207 Having bugsplat linked to all executables results in executables with an embedded rpath that is invalid for Gatekeeper. Luckily it shows this is in the worst possible way. The viewer cannot be started with a non helpful message of teh viewer being unable to verified. While at the same time spctl and codesign both show no errors at all.
2022-10-21Merge branch 'master' into DRTVWR-539Mnikolenko Productengine
# Conflicts: # indra/newview/llfloaterpreference.cpp # indra/newview/llviewercontrol.cpp
2022-10-20Merge branch 'master' into DRTVWR-570-maint-QAndrey Lihatskiy
# Conflicts: # indra/newview/llnetmap.cpp # indra/newview/llnetmap.h
2022-10-20Merge branch 'master' into DRTVWR-565-maint-PAndrey Lihatskiy
2022-10-13Revert "Restored SL-14961"Andrey Kleshchev
This partially reverts commit 935c1362a222f192bf913270d01f6c31c16e175b. Reporting seems to have stoped working, trying the same way mac works.
2022-09-27Introduce a U8* based interface to unzip_llsd and unpackVolumeFacesRye Mutt
2022-09-22Merge remote-tracking branch 'origin/SL-18119' into DRTVWR-548-maint-NAndrey Lihatskiy
2022-09-21Merge branch 'master' into DRTVWR-539Mnikolenko Productengine
2022-09-17SL-17238 Fix coding policy build issuesAndrey Kleshchev
2022-09-16Merge remote-tracking branch 'origin/DRTVWR-543-maint_cmake' into ↵Nicky Dasmijn
DRTVWR-568_cmake
2022-09-16SL-18119 - UIUsage logs for some common operationsBrad Payne (Vir Linden)
2022-09-15Merge branch 'master' into DRTVWR-568Callum Linden
2022-09-15Merge branch 'master' into DRTVWR-548-maint-NAndrey Lihatskiy
# Conflicts: # indra/newview/llmodelpreview.h
2022-09-15Merge branch 'master' into DRTVWR-565-maint-PAndrey Lihatskiy
2022-08-26DRTVWR-568: More cleanup of deleted obsolete std library features.Nat Goodspeed
2022-08-23DRTVWR-558: Remove references to string join() per code review.Nat Goodspeed
2022-08-22DRTVWR-558: Fix builds on macOS 12.5 Monterey.Nat Goodspeed
Always search for python3[.exe] instead of plain 'python'. macOS Monterey no longer bundles Python 2 at all. Explicitly make PYTHON_EXECUTABLE a cached value so if the user edits it in CMakeCache.txt, it won't be overwritten by indra/cmake/Python.cmake. Do NOT set DYLD_LIBRARY_PATH for test executables! That has Bad Effects, as discussed in https://stackoverflow.com/q/73418423/5533635. Instead, create symlinks from build-mumble/sharedlibs/Resources -> Release/Resources and from build-mumble/test/Resources -> ../sharedlibs/Release/Resources. For test executables in sharedlibs/RelWithDebInfo and test/RelWithDebInfo, this supports our dylibs' baked-in load path @executable_path/../Resources. That load path assumes running in a standard app bundle (which the viewer in fact does), but we've been avoiding creating an app bundle for every test program. These symlinks allow us to continue doing that while avoiding DYLD_LIBRARY_PATH. Add indra/llcommon/apply.h. The LL::apply() function and its wrapper macro VAPPLY were very useful in diagnosing the problem. Tweak llleap_test.cpp. This source was modified extensively for diagnostic purposes; these are the small improvements that remain.
2022-08-22DRTVWR-564: Add LL::apply(): call function, passing args from tuple.Nat Goodspeed
This anticipates C++17's std::apply(), and in fact once we detect C++17, we'll just use that. But in C++14 we must still provide our own implementation. (cherry picked from commit dc2e2cd76f387ea6e80787fb94adcbc269cd1f25)
2022-08-01SL-17868 Fixed macos build issueAndrey Kleshchev
2022-07-30SL-17868 Crash at ThreadRecorder::bringUpToDateAndrey Kleshchev
According to bugsplat get_thread_recorder was null Replaced apr based LLThreadLocalPointer with thread_local
2022-07-28GCC11.1 warning: moving a local object in a return statement prevents copy ↵ZiRee
elision [-Werror=pessimizing-move]
2022-06-29Merge branch 'master' into DRTVWR-539Mnikolenko Productengine
2022-06-29Merge branch 'master' into DRTVWR-548-maint-NAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/llviewercontrol.cpp
2022-06-29Merge branch 'master' into DRTVWR-544-maintAndrey Lihatskiy
2022-06-22SL-17634 Replace deprecated carbon Gestalt callsMaxim Nikolenko