summaryrefslogtreecommitdiff
path: root/indra/llwindow
AgeCommit message (Collapse)Author
2024-06-20Merge remote-tracking branch 'secondlife/release/maint-b' into maint-bErik Kundiman
2024-06-18SDL 2 Window completions and HiDPI supportmobserveur
This commit completes the SDL 2 support and adds HiDPI support for Mac.
2024-06-14Revert "Replace LL_X11 and LL_FLTK to LL_LINUX"AiraYumi
2024-06-12Replace LL_X11 and LL_FLTK to LL_LINUXAiraYumi
2024-06-06Change LL_FREEBSD to already existing __FreeBSD__Erik Kundiman
So we don't need to have a custom environment -DLL_FREEBSD=1 setting.
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-18Colour bits test not done on Linux eitherErik Kundiman
Cause last time I checked, it didn't pass on Fedora.
2024-05-17More misleading indentation fixesErik Kundiman
2024-05-17Parts that were left out during 7.1.7 mergeErik Kundiman
Including a very important one which is so assets are fetched!
2024-05-16Merge tag '7.1.7-release'Erik Kundiman
source for viewer 7.1.7.8974243247
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-02Convert the detected VRAM on NVIDIA & ATI to MBsErik Kundiman
2024-05-02Correct the GL function used for detecting VRAMErik Kundiman
2024-05-01Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-mergeAndrey Lihatskiy
2024-05-01Attempt to detect NVIDIA & ATI VRAMErik Kundiman
Done in a simple way, without checking the GLX extension string.
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-25Merge tag '7.1.6-release'Erik Kundiman
source for viewer 7.1.6.8745209917
2024-04-24Merge branch 'main' into marchcat/b-mergeAndrey Lihatskiy
2024-04-24Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
2024-04-20Merge tag '7.1.5-release'Erik Kundiman
source for viewer 7.1.5.8443591509
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-02Merge tag '7.1.3-release'Erik Kundiman
source for viewer 7.1.3.7878383867
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-22IME composition is now replaced by the resultErik Kundiman
instead of being printed alongside. For now, it always gets reset from the start after pressing Return, which is to be fixed next.
2024-02-08SL-18721 Shutdown fixes #4Andrey Kleshchev
2024-01-30First attempt to fix unicode inputErik Kundiman
It should work well enough with most, but on Japanese (I assume all CJK), for now the composition part is still left printed out along with the result (as opposed to just replaced by the result). It's to be fixed next.
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-15Re-enable GL colour bits check but only on LinuxErik Kundiman
It seems the queries don't work on BSDs, but works okay on Linuxes.
2024-01-15Revive external web browser spawning on macOSErik Kundiman
2024-01-11SL-20750 MacOS Crash processing attributed stringAndrey Kleshchev
2024-01-10Ignore colour bit resultsErik Kundiman
It turns out glGetIntegerv on GL colour bits hasn't given any value, so the values used afterwards have been random since the variables aren't initialised. The numbers haven't been 8, 8, 8 since core profile or VRAM detection or something else.
2024-01-09Merge tag '7.1.2-release'Erik Kundiman
source for viewer 7.1.2.7215179142
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
2024-01-06Move assignments with vram_megabytes inside scopesErik Kundiman
There will be a case not having vram_megabytes declared.
2024-01-06VRAM detection implementation using GLX MesaErik Kundiman
/var/log/Xorg.0.log doesn't seem to contain such information any more. My Debian 12 doesn't even have that file any more, I wonder why.