summaryrefslogtreecommitdiff
path: root/clutter-gst/clutter-gst-video-texture.c
diff options
context:
space:
mode:
Diffstat (limited to 'clutter-gst/clutter-gst-video-texture.c')
-rw-r--r--clutter-gst/clutter-gst-video-texture.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/clutter-gst/clutter-gst-video-texture.c b/clutter-gst/clutter-gst-video-texture.c
index e086072..a5e7e79 100644
--- a/clutter-gst/clutter-gst-video-texture.c
+++ b/clutter-gst/clutter-gst-video-texture.c
@@ -406,6 +406,16 @@ clutter_gst_video_texture_paint (ClutterActor *actor)
*/
static void
+clutter_gst_video_texture_dispose (GObject *object)
+{
+ ClutterGstVideoTexture *self = CLUTTER_GST_VIDEO_TEXTURE (object);
+
+ clutter_gst_player_deinit (CLUTTER_GST_PLAYER (self));
+
+ G_OBJECT_CLASS (clutter_gst_video_texture_parent_class)->dispose (object);
+}
+
+static void
clutter_gst_video_texture_finalize (GObject *object)
{
ClutterGstVideoTexture *self;
@@ -414,8 +424,6 @@ clutter_gst_video_texture_finalize (GObject *object)
self = CLUTTER_GST_VIDEO_TEXTURE (object);
priv = self->priv;
- clutter_gst_player_deinit (CLUTTER_GST_PLAYER (self));
-
if (priv->idle_material != COGL_INVALID_HANDLE)
cogl_handle_unref (priv->idle_material);
@@ -475,6 +483,7 @@ clutter_gst_video_texture_class_init (ClutterGstVideoTextureClass *klass)
g_type_class_add_private (klass, sizeof (ClutterGstVideoTexturePrivate));
+ object_class->dispose = clutter_gst_video_texture_dispose;
object_class->finalize = clutter_gst_video_texture_finalize;
object_class->set_property = clutter_gst_video_texture_set_property;
object_class->get_property = clutter_gst_video_texture_get_property;