summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2015-12-11 23:16:56 +0000
committerLionel Landwerlin <llandwerlin@gmail.com>2016-02-12 22:02:00 +0000
commit60d1cb1895ed09267bfc3dc3cbbcbe4730d54266 (patch)
tree27cd18d28f112a70f868dc7d43bc7d44c7a8fd92
parentc168be897c9e7f0db12db470334b5898084d5b0b (diff)
downloadclutter-gst-60d1cb1895ed09267bfc3dc3cbbcbe4730d54266.tar.gz
autovideosink: auto video memory leak fixes
-rw-r--r--[-rwxr-xr-x]clutter-gst/clutter-gst-auto-video-sink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/clutter-gst/clutter-gst-auto-video-sink.c b/clutter-gst/clutter-gst-auto-video-sink.c
index 5c22f3f..a09c5d4 100755..100644
--- a/clutter-gst/clutter-gst-auto-video-sink.c
+++ b/clutter-gst/clutter-gst-auto-video-sink.c
@@ -149,6 +149,7 @@ clutter_gst_auto_video_sink_clear_kid (ClutterGstAutoVideoSink3 *sink)
if (sink->content)
{
clutter_gst_content_set_sink (CLUTTER_GST_CONTENT (sink->content), NULL);
+ g_clear_object (&sink->content);
}
}
@@ -210,7 +211,10 @@ clutter_gst_auto_video_sink_set_property (GObject *object,
break;
case PROP_CONTENT:
g_clear_object (&sink->content);
- sink->content = g_value_get_object (value);
+ sink->content = g_value_dup_object (value);
+ if (sink->content && sink->kid)
+ clutter_gst_content_set_sink (CLUTTER_GST_CONTENT (sink->content),
+ CLUTTER_GST_VIDEO_SINK (sink->kid));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);