glwindow/cocoa: remove our view from the parent when closing
authorMatthew Waters <matthew@centricular.com>
Tue, 15 Nov 2016 11:56:25 +0000 (22:56 +1100)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 9 Dec 2017 19:32:24 +0000 (19:32 +0000)
Otherwise, when the application reuses the same UIView, we were getting
draw notifications on the previous view/layer's which weren't valid anymore
and were referencing pointers that had been freed.

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

gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m

index 0c005af..60d4e57 100644 (file)
@@ -197,6 +197,7 @@ gst_gl_window_cocoa_close (GstGLWindow *window)
 {
   GstGLWindowCocoa *window_cocoa = GST_GL_WINDOW_COCOA (window);
 
+  [[window_cocoa->priv->internal_win_id contentView] removeFromSuperview];
   [window_cocoa->priv->internal_win_id release];
   window_cocoa->priv->internal_win_id = nil;
 }