summaryrefslogtreecommitdiff
path: root/indra/llwindow
AgeCommit message (Collapse)Author
2024-05-30Merge branch 'release/maint-b' into nat/catch-test-blown-stack.Nat Goodspeed
Retargeting PR #1496 to Maint B.
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-16Correcting the display position of the input dialog (#1480)AiraYumi
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-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-24Merge branch 'main' into marchcat/b-mergeAndrey Lihatskiy
2024-04-24Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
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-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-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-05Linux viewer (ReleaseOS) resurrection (#1099)Nicky Dasmijn
Co-authored-by: AiraYumi <aira.youme@airanyumi.net>
2024-03-15SL-18721 Restore release behaviorAndrey Kleshchev
Closing window correctly caused a significant amount of logout freezes with no known reproes. Temporarily returning to old behavior were thread was killes without closing window and will reenable in later maints to hopefully get a scenario or at least more data of what is causing the freeze.
2024-03-04Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/llstring.cpp # indra/llcommon/llstring.h
2024-03-01SL-18721 Shutdown fixes #6Andrey Kleshchev
2024-03-01Merge branch 'main' into marchcat/yz-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp
2024-03-01Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-02-08SL-18721 Shutdown fixes #4Andrey Kleshchev
2024-01-29SL-18721 Shutdown fixes #3Andrey Kleshchev
Fix dialog box being blank in task bar
2024-01-25Crash in switch contextAndrey Kleshchev
Looks like a crash at SetWindowLongPtr due to handle being zero
2024-01-22SL-18721 Shutdown fixesAndrey Kleshchev
1. After window closes viewer still takes some time to shut down, so added splash screen to not confuse users (and to see if something gets stuck) 2. Having two identical mWindowHandle caused confusion for me, so I split them. It looks like there might have been issues with thread being stuck because thread's handle wasn't cleaned up. 3. Made region clean mCacheMap immediately instead of spending time making copies on shutdown
2024-01-11SL-20750 MacOS Crash processing attributed stringAndrey Kleshchev
2024-01-08Merge branch 'main' into DRTVWR-489Andrey Lihatskiy
# Conflicts: # indra/newview/llmaterialeditor.cpp
2024-01-08Merge branch 'main' into DRTVWR-594-maint-YAndrey Lihatskiy
2024-01-08Merge main (DRTVWR-596 GLTF Materials Maint) into DRTVWR-591-maint-XAndrey Kleshchev
# Conflicts: # indra/newview/VIEWER_VERSION.txt
2023-12-18Merge branch 'main' into DRTVWR-591-maint-XAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/llpanelprofile.cpp # indra/newview/llspatialpartition.cpp
2023-12-18Merge branch 'main' into DRTVWR-594-maint-YAndrey Lihatskiy
2023-12-15Merge branch 'main' into DRTVWR-489Andrey Lihatskiy
# Conflicts: # indra/newview/fonts/DejaVu-license.txt # indra/newview/fonts/DejaVuSans-Bold.ttf # indra/newview/fonts/DejaVuSans-BoldOblique.ttf # indra/newview/fonts/DejaVuSans-Oblique.ttf # indra/newview/fonts/DejaVuSans.ttf # indra/newview/fonts/DejaVuSansMono.ttf
2023-12-14Merge remote-tracking branch 'origin/main' into DRTVWR-596Brad Linden
2023-12-06SL-20664 Potential fix for crash on startup in switchContextRunitaiLinden
2023-12-06SL-20695 Fix hardware probesAndrey Kleshchev
CoCreateInstance returns 'no interface supported' Preferable not to mix init types so switched everything.
2023-12-05Merge branch 'main' into DRTVWR-489Alexander Gavriliuk
2023-11-30Merge branch 'DRTVWR-594-maint-Y' into marchcat/594-y-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp # indra/newview/skins/default/xui/en/notifications.xml
2023-11-30SL-19801 Inserting emoji characters from system emoji picker does not work ↵Alexander Gavriliuk
on macOS
2023-11-30Mac buildfixAndrey Lihatskiy
2023-11-30Merge branch 'DRTVWR-591-maint-X' into marchcat/591-x-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llvertexbuffer.cpp # indra/llui/llflatlistview.cpp # indra/newview/app_settings/settings.xml # indra/newview/lldrawpoolground.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorygallery.cpp # indra/newview/llspatialpartition.cpp # indra/newview/llviewercontrol.cpp # indra/newview/llviewertexture.cpp # indra/newview/llvosky.cpp # indra/newview/skins/default/xui/en/menu_inventory.xml
2023-11-29Merge branch 'DRTVWR-559' into marchcat/587-v-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/CMakeLists.txt # indra/newview/llspatialpartition.cpp # indra/newview/llviewergenericmessage.cpp # indra/newview/llvoavatar.cpp
2023-11-22SL-20603 Crash on CoInitializeAndrey Kleshchev
Don't mix CoInitialize and CoInitializeEx, one is global, other is threaded. CoInitialize(0) is equal to CoInitializeEx(0, COINIT_APARTMENTTHREADED) and MULTITHREADED is not compatible with APARTMENTTHREADED.
2023-11-03DRTVWR-559 Fix for mac build.Dave Parks
2023-11-02SL-19979 Fix for frame stalls on mac with shadows enabled. Also fix ↵Dave Parks
multihreaded GL not working on mac (thanks, Rye!)
2023-10-23SL-13610 build fixMnikolenko Productengine
2023-10-23SL-13610 [MAC] Manufacturer based searchAndrey Kleshchev
2023-10-23SL-13610 [MAC] WIP filter out incompatible devicesAndrey Kleshchev
2023-10-23SL-13610 [MAC] WIP enable initing devices by local idAndrey Kleshchev
2023-10-23SL-13610 [MAC] WIP List HID available devices in joystick selectionAndrey Kleshchev
Doesn't filter the list yet, just shows full list of usb devices Selecting visible devices doesn't work yet
2023-09-19SL-20177: Blind attempt at fixing crash in SetWindowLongPtr. Guess based on ↵Cosmic Linden
the fact that crashes started around the time VRAM accounting was added.
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-07-17Merge branch 'main' (DRTVWR-580) into DRTVWR-587-maint-VAndrey Kleshchev