diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2016-05-16 17:11:53 -0400 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2016-05-20 17:04:01 +0200 |
commit | 098c5c16ad2b1c849c5893c0f81ef762144f69c6 (patch) | |
tree | c14ffade947e4c22dcf8e25951850c6e54470920 /gst-libs/gst/gl/win32 | |
parent | 83bb89f4eccdfe9019251e4b70b42b95b4fe08fa (diff) | |
download | gstreamer-plugins-bad-098c5c16ad2b1c849c5893c0f81ef762144f69c6.tar.gz |
gl: win32: Unparent internal window before destroying it
For some reason DestroyWindow() deadlock if it's called from
parent window's KeyPress event.
https://bugzilla.gnome.org/show_bug.cgi?id=766533
Diffstat (limited to 'gst-libs/gst/gl/win32')
-rw-r--r-- | gst-libs/gst/gl/win32/gstglwindow_win32.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gst-libs/gst/gl/win32/gstglwindow_win32.c b/gst-libs/gst/gl/win32/gstglwindow_win32.c index fca265718..2c919cd6a 100644 --- a/gst-libs/gst/gl/win32/gstglwindow_win32.c +++ b/gst-libs/gst/gl/win32/gstglwindow_win32.c @@ -135,6 +135,8 @@ gst_gl_window_win32_close (GstGLWindow * window) if (window_win32->internal_win_id) { RemoveProp (window_win32->internal_win_id, "gl_window"); + ShowWindow (window_win32->internal_win_id, SW_HIDE); + SetParent (window_win32->internal_win_id, NULL); if (!DestroyWindow (window_win32->internal_win_id)) GST_WARNING ("failed to destroy window %" G_GUINTPTR_FORMAT ", 0x%x", (guintptr) window_win32->internal_win_id, |