gl: win32: Don't steal parent focus when creating internal window
authorXavier Claessens <xavier.claessens@collabora.com>
Mon, 16 May 2016 19:26:53 +0000 (15:26 -0400)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:32:19 +0000 (19:32 +0000)
This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.

https://bugzilla.gnome.org/show_bug.cgi?id=766520

gst-libs/gst/gl/win32/gstglwindow_win32.c

index 1ff18bb..fca2657 100644 (file)
@@ -285,7 +285,12 @@ gst_gl_window_win32_create_window (GstGLWindowWin32 * window_win32,
 
   GST_LOG ("Created a win32 window");
 
-  set_parent_win_id (window_win32);
+  /* The window has been created as if it had no parent, so there is nothing
+   * else to do in that case. Even if user has already set a window,
+   * parent_win_id could still be 0 at this point, and in that case calling
+   * set_parent_win_id() here would steal focus from the parent window. */
+  if (window_win32->parent_win_id)
+    set_parent_win_id (window_win32);
 
   return TRUE;