From 58ac815eae6ed468d1db60a54a1bd34d6324c28c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 25 Jul 2018 14:23:36 +0300 Subject: [PATCH] gl: Don't steal callers reference when setting non-floating elements via properties Introduced by fbef9220d3dc2f785081c4766901aab2ecfaed10. The code there is only correct for elements we get from signals. --- ext/gl/gstglfilterbin.c | 2 +- ext/gl/gstglmixerbin.c | 2 +- ext/gl/gstglsinkbin.c | 2 +- ext/gl/gstglsrcbin.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/gl/gstglfilterbin.c b/ext/gl/gstglfilterbin.c index 486b0fec33..f6f7856fea 100644 --- a/ext/gl/gstglfilterbin.c +++ b/ext/gl/gstglfilterbin.c @@ -245,7 +245,7 @@ gst_gl_filter_bin_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_FILTER: - gst_gl_filter_bin_set_filter (self, g_value_get_object (value)); + gst_gl_filter_bin_set_filter (self, g_value_dup_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); diff --git a/ext/gl/gstglmixerbin.c b/ext/gl/gstglmixerbin.c index 25e18ff6f2..0c52c2946c 100644 --- a/ext/gl/gstglmixerbin.c +++ b/ext/gl/gstglmixerbin.c @@ -473,7 +473,7 @@ gst_gl_mixer_bin_set_property (GObject * object, switch (prop_id) { case PROP_MIXER: { - GstElement *mixer = g_value_get_object (value); + GstElement *mixer = g_value_dup_object (value); /* FIXME: deal with replacing a mixer */ g_return_if_fail (!self->mixer || (self->mixer == mixer)); gst_gl_mixer_bin_set_mixer (self, mixer); diff --git a/ext/gl/gstglsinkbin.c b/ext/gl/gstglsinkbin.c index 1c0d188f88..a3093d0cde 100644 --- a/ext/gl/gstglsinkbin.c +++ b/ext/gl/gstglsinkbin.c @@ -347,7 +347,7 @@ gst_gl_sink_bin_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_SINK: - gst_gl_sink_bin_set_sink (self, g_value_get_object (value)); + gst_gl_sink_bin_set_sink (self, g_value_dup_object (value)); break; case PROP_CONTRAST: case PROP_BRIGHTNESS: diff --git a/ext/gl/gstglsrcbin.c b/ext/gl/gstglsrcbin.c index 672e4e03f0..bae46a0d0d 100644 --- a/ext/gl/gstglsrcbin.c +++ b/ext/gl/gstglsrcbin.c @@ -221,7 +221,7 @@ gst_gl_src_bin_set_property (GObject * object, guint prop_id, switch (prop_id) { case PROP_SRC: - gst_gl_src_bin_set_src (self, g_value_get_object (value)); + gst_gl_src_bin_set_src (self, g_value_dup_object (value)); break; default: if (self->src)