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)
commit057aca2cda1e03a2208f21894c8e263b7f91d38d
tree2cc27bf1c149168025755d0fa16a6e4f6568bf9a
parentc107a4f60a41784c44d81d2c6e94ba1070854c9f
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