diff options
Diffstat (limited to 'clutter-gst/clutter-gst-video-texture.c')
-rw-r--r-- | clutter-gst/clutter-gst-video-texture.c | 13 |
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; |