obs-browser: Fix browser panel crash

Before, we were calling DestroyWindow on the browser panel HWND from the
CEF UI thread, which meant that the main program thread had to process
window messages in order for that message to successfully through as
DestroyWindow blocks on the WM_DESTROY/WM_NCDESTROY window messages.
Unfortunately, this also had the side-effect of processing all queued Qt
events, which, when called in the destructor of a window like this, can
result in undefined behavior; specifically crashes, which were occurring
due to this.  Especially when browser panels were in docks and docked to
the main window.

So, instead of calling DestroyWindow in another thread and then
processing events in the main thread, call DestroyWindow directly in the
main thread to get WM_DESTROY/WM_NCDESTROY and only those processed on
the spot.  This appears to fix the crashes due to the undefined
behavior when closing browser panels.
master
jp9000 2019-08-31 21:09:03 -07:00
parent 23111c317f
commit dc6a0bf8e9
1 changed files with 1 additions and 1 deletions

@ -1 +1 @@
Subproject commit 21b2ce1c26a816edb80330ea6a9973032c8d71d8
Subproject commit 17706ea76cea57fc8a351fe05f67bbdf1b1e3e71