Age | Commit message (Collapse) | Author |
|
Retargeting PR #1496 to Maint B.
|
|
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().
|
|
|
|
|
|
# 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
|
|
|
|
LF, and trim trailing whitespaces as needed
|
|
|
|
|
|
* 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
|
|
# 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
|
|
# Conflicts:
# autobuild.xml
# indra/llcommon/llsys.cpp
|
|
# Conflicts:
# indra/llrender/llgl.cpp
# indra/newview/lloutfitslist.cpp
|
|
Co-authored-by: AiraYumi <aira.youme@airanyumi.net>
|
|
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.
|
|
# Conflicts:
# indra/llcommon/llstring.cpp
# indra/llcommon/llstring.h
|
|
|
|
# Conflicts:
# indra/newview/llinventorygallery.cpp
|
|
|
|
|
|
Fix dialog box being blank in task bar
|
|
Looks like a crash at SetWindowLongPtr due to handle being zero
|
|
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
|
|
|
|
# Conflicts:
# indra/newview/llmaterialeditor.cpp
|
|
|
|
# Conflicts:
# indra/newview/VIEWER_VERSION.txt
|
|
# Conflicts:
# doc/contributions.txt
# indra/newview/llpanelprofile.cpp
# indra/newview/llspatialpartition.cpp
|
|
|
|
# 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
|
|
|
|
|
|
CoCreateInstance returns 'no interface supported'
Preferable not to mix init types so switched everything.
|
|
|
|
# Conflicts:
# indra/newview/llinventorygallery.cpp
# indra/newview/skins/default/xui/en/notifications.xml
|
|
on macOS
|
|
|
|
# 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
|
|
# Conflicts:
# indra/llcommon/CMakeLists.txt
# indra/newview/llspatialpartition.cpp
# indra/newview/llviewergenericmessage.cpp
# indra/newview/llvoavatar.cpp
|
|
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.
|
|
|
|
multihreaded GL not working on mac (thanks, Rye!)
|
|
|
|
|
|
|
|
|
|
Doesn't filter the list yet, just shows full list of usb devices
Selecting visible devices doesn't work yet
|
|
the fact that crashes started around the time VRAM accounting was added.
|
|
|
|
|