gtk(gl)sink: remove the signal handlers on finalize
authorMatthew Waters <matthew@centricular.com>
Tue, 16 Feb 2016 08:59:13 +0000 (19:59 +1100)
committerMatthew Waters <matthew@centricular.com>
Tue, 16 Feb 2016 09:09:08 +0000 (20:09 +1100)
commitaaacc9fe54ec644803f402d5ad48e19aab41aad9
tree1fdd24d77e2c51fd730e171416e19056ab61ae27
parentcaafdd8ca2a34bcbd3ea80b208f691d74a2b38a5
gtk(gl)sink: remove the signal handlers on finalize

It's possible that the sink element will be freed before the widget is
destroyed.  When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.

Fix by disconnecting our signal on finalize.

https://bugzilla.gnome.org/show_bug.cgi?id=762098
ext/gtk/gstgtkbasesink.c
ext/gtk/gstgtkbasesink.h