summaryrefslogtreecommitdiff
path: root/gst-libs/gst/gl/win32
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2016-05-16 17:11:53 -0400
committerMatthew Waters <matthew@centricular.com>2016-05-20 17:04:01 +0200
commit098c5c16ad2b1c849c5893c0f81ef762144f69c6 (patch)
treec14ffade947e4c22dcf8e25951850c6e54470920 /gst-libs/gst/gl/win32
parent83bb89f4eccdfe9019251e4b70b42b95b4fe08fa (diff)
downloadgstreamer-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.c2
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,