summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-05-31Add support for RequestTaskInventory capabilitySalad Dais
The viewer now prefers to load inventory via the capability rather than over the deprecated Xfer system, though both are still supported.
2024-05-30Merge branch 'release/maint-b' into nat/catch-test-blown-stack.Nat Goodspeed
Retargeting PR #1496 to Maint B.
2024-05-29viewer#1577 Attachments cannot be detached in performance floaterAndrey Kleshchev
attachment list gets filled with object ids, not attachment ids
2024-05-28Fix up llexception.h's cross-platform SEH wrapper.Nat Goodspeed
Introduce AlwaysReturn<void> specialization, which always discards any result of calling the specified callable with specified args. Derive new Windows_SEH_exception from LLException, not std::runtime_error. Put the various SEH functions in LL::seh nested namespace, e.g. LL::seh::catcher() as the primary API. Break out more levels of Windows SEH handler to work around the restrictions on functions containing __try/__except. The triadic catcher() overload now does little save declare a std::string stacktrace before forwarding the call to catcher_inner(), passing a reference to stacktrace along with the trycode, filter and handler functions. catcher_inner() accepts the stacktrace and the three function template arguments. It contains the __try/__except logic. It calls a new filter_() wrapper template, which calls fill_stacktrace() before forwarding the call to the caller's filter function. fill_stacktrace(), in the .cpp file, contains the logic to populate the stacktrace string -- unless the Structured Exception is stack overflow, in which case it puts an explanatory string instead. catcher_inner()'s __except clause passes not only the code, but also the stacktrace string, to the caller's handler function. It wraps the caller's handler function in always_return<rtype>(), where rtype is the type returned by the trycode function. This allows a handler to return a value, while also supporting the void handler case, e.g. one that throws a C++ exception. (This is why we need AlwaysReturn<void>: some trycode() functions are themselves void.) For the dyadic catcher() overload, introduce common_filter() containing the logic to distinguish a C++ exception from any other kind of Structured Exception. The fact that the stacktrace is captured before the filter function is called should permit capturing a stacktrace for a C++ exception as well as for most other Structured Exceptions. As before, the monadic catcher() overload supplies the rethrow() handler, in the .cpp file. Change existing calls from seh_catcher() to LL::seh::catcher().
2024-05-24Promote seh_catcher() et al. to llexception.{h,cpp} for general use.Nat Goodspeed
2024-05-15secondlife/jira-archive-internal#70713 Combine recently and frequently usedAlexander Gavriliuk
2024-05-15Merge branch 'release/maint-x' into marchcat/x-b-mergeAndrey Lihatskiy
to pick up mac build fixes
2024-05-15Merge branch 'main' into marchcat/x-b-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/cmake/ConfigurePkgConfig.cmake # indra/cmake/ICU4C.cmake # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamer_syms.h # indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp # indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.h # indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp # indra/newview/llappviewerlinux_api.h # indra/newview/llappviewerlinux_api_dbus.cpp # indra/newview/llappviewerlinux_api_dbus.h # indra/newview/llfloateremojipicker.cpp # indra/newview/lloutfitslist.cpp
2024-05-14Increment viewer version to 7.1.8Nat Goodspeed
following promotion of secondlife/viewer #705: Maintenance X
2024-05-13viewer-private#236 Don't block removal of marketplace foldersAndrey Kleshchev
Marketplace is not visible outside of own floater and that floater will do an extra warning when deleting listings that have additional data.
2024-05-09enable ime on xwayland (environment setting move)AiraYumi
2024-05-01Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-mergeAndrey Lihatskiy
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-27viewer-private#217 Cef log was deleted too oftenAndrey Kleshchev
delete once per session, not once per instance
2024-04-25Remove invalid text color parameter from panel_login_first.xmlnerodevo
Follow-up to previous commit 4a07fd3. This will resolve the warning showing up when loading the viewer for the first time.
2024-04-24viewer#1309 Handle deprecated avatar properties messagesAndrey Kleshchev
since server still sends those in some cases
2024-04-24Merge branch 'main' into marchcat/b-mergeAndrey Lihatskiy
2024-04-24Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
2024-04-24Increment viewer version to 7.1.7Nat Goodspeed
following promotion of secondlife/viewer #736
2024-04-20viewer#1290 Fix missing variable reinitializationsAndrey Kleshchev
2024-04-19viewer#1290 Fix snapToMessageHeight crashAndrey Kleshchev
2024-04-19secondlife/viewer#1249 Erratic Emoji Picker BehaviorAlexander Gavriliuk
2024-04-19Revert "SL-20140 Setting shape hand size to 36 won't save"Andrey Lihatskiy
This reverts commit 810a3d24c2e3671f926091c062b101bdec6a1517. (secondlife/jira-archive-internal#70482)
2024-04-19Revert "SL-20140 Setting shape hand size to 36 won't save"Andrey Lihatskiy
This reverts commit 810a3d24c2e3671f926091c062b101bdec6a1517. (secondlife/jira-archive-internal#70482)
2024-04-18viewer-private#217 Fix cef log nameAndrey Kleshchev
2024-04-17viewer#1143 Crash at LLReflectionMap::autoAdjustOrigin #2Andrey Kleshchev
2024-04-17Fix typo in settings names (#1257)Ansariel Hiller
2024-04-15secondlife/viewer#912 BugSplat Crash 1412267: nvoglv64+0xadcd00Alexander Gavriliuk
2024-04-15Chore/pragma gcc cleansweep (#1226)Nicky Dasmijn
* Remove all GCC warning suppression pragmas. * For Linux just just raise(SIGSEGV) as the crash driver. This has a much higher chance of the compiler understanding out intent and figuring out we end the program here. * Remove -Wno-stringop-overflow and -Wno-stringop-truncation from GCC_WARNINGS. After calling raise(SIGSEGV) as the crash driver I saw no issue with those warnings anymore After removing thoses GCC pragmas there is also no need for clang -Wno-unknown-warning-option anymore. * Remove CMakePresets from this PR. * Remove Lindens from comments :)
2024-04-15CI: adopt xz compressionBennett Goble
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
2024-04-15Revert "SL-20140 Setting shape hand size to 36 won't save"Andrey Lihatskiy
This reverts commit 810a3d24c2e3671f926091c062b101bdec6a1517. (secondlife/jira-archive-internal#70482)
2024-04-15Fix broken shaders due to 72730609f371ae0417a2d117fdc9d805ce8858fbAnsariel
2024-04-15Merge branch 'main' into DRTVWR-591-maint-XAndrey Lihatskiy
2024-04-14Merge pull request #1227 from Nicky-D/feature/threaded_xzSignal Linden
Inject XZ_DEFAULTS=-T0 into the environment. This will speed up archive generation.
2024-04-14Feature/linux gtk removal (#1225)Nicky Dasmijn
* GTK remnants removal Remove old GTK code and wire up some missing fltk logic in llfilepicker This will leave linux_crash_logger as an empy stub which could be used as a skeleton in case crash logging gets implemented. Otherwise linux_crash_logger and what is left of it in some cmake files can be deleted. * Update SDL2 to latest version. This revealed openal has also a dependebcy on sndio. Consequently the dependency was moved to OPENMAL.cmake and canot be dropped. * Handle missing filetypes: FFSAVE_GLTF,FFLOAD_GLTF, FFLOAD_MATERIAL, FFLOAD_MATERIAL_TEXTURE
2024-04-13Inject XZ_DEFAULTS=-T0 into the environment. This will speed up archive ↵Nicky
generation.
2024-04-12Merge branch 'main' into release/maint-bBennett Goble
2024-04-12Merge pull request #1211 from secondlife/marchcat/x-mergeAndrey Lihatskiy
Release (Maint W) -> Maint X merge
2024-04-12viewer-private#226 Unhandled PngError throws application into a loopAndrey Kleshchev
png_read_info triggered a PngError, LLAppViewer::frame() handled it instead of LLPngWrapper::readPng, and since status didn't change viewer tried to decode image again and again and again.
2024-04-12Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
# Conflicts: # indra/llimage/llimageworker.cpp # indra/llimage/llimageworker.h # indra/newview/llcontrolavatar.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/lloutfitslist.cpp # indra/newview/lloutfitslist.h # indra/newview/lltexturefetch.cpp
2024-04-12Fix ASAN errors from LLVector4a::memcpyNonAliased16Nicky
Found by running with -fsanitze=thread Suggestion to avoid accessing invalid memory: In both cases memory will be allocated by can be accessed beyond bounds. In LLPolyMesh it can be off by at least one (+x%2). Though I am not even sure if even in best case it always will be a multiple of 16. In LLViewerJointMesh::updateFaceData the code tries to account for padding by, but the allocation in LLPolyMeshSharedData::allocateVertexData is done without any padding. Thus the sizes must not match. Replacing the calls with memcpy as a quick fix to see if the error goes away fixed address sanitzer complaining. It is up to debate if memcpy is a good replacement. LLVector4a::memcpyNonAliased16 was invented for performance. But on the other hand one could argue that nowadays every stdlib maintainer will very heavily optmize functions like memcpy themselves and could take advantage of CPU features the old LL implementation does not take into account. AVX comes to mind. In any case did I not measure any of this.
2024-04-11CI: adopt xz compressionBennett Goble
Move towards packaging artifacts with xz, which offers higher compression ratios and faster decode time.
2024-04-11Restore the fix for #945 (lost during merge #1178)Andrey Lihatskiy
2024-04-11Make sure items get removed from maps before the item itself gets destroyed,Nicky
Otherwise the viewer ends with a dangling pointer in the map
2024-04-10Fix linux some shader errors when running under WSL, related to ↵Brad Linden
secondlife/viewer#1149 (#1170)
2024-04-10Fix BUG-225288: Detaching stops unrelated animationsSalad Dais
This is to do with misunderstandings related to how .find() works with multimaps. .find() will, in fact, return an iterator to the first iterator it finds, and will iterate through all elements in the multimap when incremented, not just items with the same key. Change code working with animation sources to be aware of this fact, so unrelated animation sources do not have their animations stopped.
2024-04-10Merge branch 'main' into marchcat/y-mergeAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/llsys.cpp
2024-04-10Merge branch 'main' into marchcat/b-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/newview/lloutfitslist.cpp
2024-04-09Increment viewer version to 7.1.6Nat Goodspeed
following promotion of secondlife/viewer #690
2024-04-09Update Linux media handling (#1146)Nicky Dasmijn
* Enable CEF browser for Linux * Disable the update for Linux, we don't have that one right now * Update build_linux.yaml We need libpulse-dev for volume_catcher Linux * Add linux_volum_catcher* files * Enable OpenAL for Linux-ReleaseOS * Linux: Update OpenAL * Update SDL2 * Add libsndio-dev to the dependencies. * Update CEF to an official LL version * Remove dupe of emoji_shortcodes * Reording autobuild does because it can and wants to * Linux: Disable NDOF for the time being. After updating the ndof 3P needs to be rebuilt and we do not have a fresh one from LL yet. Forcefully undefine LIB_NDOF, it gets defined in the build variables no matter if it is safe to define. * Remove wrestling with mutliarch and LIBGL_DRIVERS_PATH * Remove tcmalloc snippet, tcmalloc is a very faint bad dream of the past * Putting out a warning this viewer ran on a x64 arch and then suggesting to install 32 bit compat packages makes no sense at all * CEF resources need to be in lib * It;'s okay to warn about missing plugins * Linux: CEF keyboard handling * Remove old gstreamer 0.10 implementation * Linux DSO loading always had been very peculiar due to macro magic. At least now it is peculiar shared magic with only one implementation. * Remove -fPIC. We get that one from LL_BUILD * /proc/cpuinfo is not reliable to detrmine the max CPU clock. Try to determine this by reading "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq". Only if this fails go back to /proc/cpuinfo * Cleanup * Cleanup common linker and compiler flags, make it more obvious which flags are for which OS/compiler * Switch to correct plugin file * Install libpulse-dev for volume catcher. * And the runner needs libsndio-dev as well. * check for runner.os=='linux'. matrix.os is the full name of the image (limux-large).