obs-studio/plugins/win-capture
tujinshu 76e6a99124 win-capture: Fix rare crash when GL program exits
**Commit message modified and clarified by Jim**

When hooking a program that has both DirectX and OpenGL contexts in use,
it is possible to cause a crash on shutdown due to capture_active()
returning true when an OpenGL context is deleted.  Normally, when
capturing an OpenGL program, this would not happen because the 'active'
variable would not be set due to OpenGL capture not being initialized,
but if DirectX is captured while an OpenGL context is available, and
OpenGL could not load these required functions, then GL can crash due to
trying to use unavailable functions.

This case is extremely rare and doesn't happen under normal
circumstances; only if a program is using both DirectX and OpenGL within
the same program simultaneously, and *only* if OpenGL could not load the
required functions.  This likely almost never happens under normal
programs, games, and hardware.  This was apparently produced by hooking
a GL Qt program that used QWebEngine, which used multiple contexts at
once.
2019-11-05 13:44:15 -08:00
..
d3d8-api clang-format: Add clang-format files 2019-06-23 01:53:56 -07:00
data/locale Update translations from Crowdin 2019-09-17 23:21:00 +02:00
get-graphics-offsets Revert "win-capture: Don't leak dynamic library references" 2019-08-17 12:23:44 -07:00
graphics-hook win-capture: Fix rare crash when GL program exits 2019-11-05 13:44:15 -08:00
inject-helper clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
CMakeLists.txt win-capture: Add ability to open UWP named kernel objects 2016-12-16 14:05:55 -08:00
app-helpers.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
app-helpers.h win-capture: Add ability to open UWP named kernel objects 2016-12-16 14:05:55 -08:00
cursor-capture.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
cursor-capture.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
dc-capture.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
dc-capture.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
duplicator-monitor-capture.c win-capture: Fix extra duplicator refs 2019-10-10 19:03:18 -07:00
funchook.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
funchook.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
game-capture.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
graphics-hook-info.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
hook-helpers.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
inject-library.c Revert "win-capture: Don't leak dynamic library references" 2019-08-17 12:23:44 -07:00
inject-library.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
load-graphics-offsets.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
monitor-capture.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
nt-stuff.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
obfuscate.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
obfuscate.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
plugin-main.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
window-capture.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
window-helpers.c win-capture: Add additional exe to window capture blacklist 2019-10-16 19:47:43 -05:00
window-helpers.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00