summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2018-07-25 14:23:36 +0300
committerSebastian Dröge <sebastian@centricular.com>2018-07-25 15:58:41 +0300
commitb99414e84d4f2094dfa14c1f6005ecac64cda26b (patch)
tree4c78267129d78537af5a0d0711955cb973a76109
parent24f097564657bd630e68931c932ec9fd992a3785 (diff)
downloadgstreamer-plugins-base-b99414e84d4f2094dfa14c1f6005ecac64cda26b.tar.gz
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.
-rw-r--r--ext/gl/gstglfilterbin.c2
-rw-r--r--ext/gl/gstglmixerbin.c2
-rw-r--r--ext/gl/gstglsinkbin.c2
-rw-r--r--ext/gl/gstglsrcbin.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/ext/gl/gstglfilterbin.c b/ext/gl/gstglfilterbin.c
index 486b0fec3..f6f7856fe 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 25e18ff6f..0c52c2946 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 1c0d188f8..a3093d0cd 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 672e4e03f..bae46a0d0 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)