directcontrolbinding: fix ABI break

Structure size was increased without adjustment of the padding.

https://bugzilla.gnome.org/show_bug.cgi?id=751622
https://bugzilla.gnome.org/show_bug.cgi?id=740502
This commit is contained in:
Tim-Philipp Müller 2015-06-29 10:41:27 +01:00
parent 03dccde1ef
commit 86abdbfb55
2 changed files with 9 additions and 6 deletions

View file

@ -233,7 +233,7 @@ gst_direct_control_binding_constructor (GType type, guint n_construct_params,
/* select mapping function */
#define SET_CONVERT_FUNCTION(type) \
if (self->want_absolute) { \
if (self->ABI.abi.want_absolute) { \
self->convert_g_value = abs_convert_g_value_to_##type; \
self->convert_value = abs_convert_value_to_##type; \
} \
@ -300,7 +300,7 @@ gst_direct_control_binding_set_property (GObject * object, guint prop_id,
self->cs = g_value_dup_object (value);
break;
case PROP_ABSOLUTE:
self->want_absolute = g_value_get_boolean (value);
self->ABI.abi.want_absolute = g_value_get_boolean (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -319,7 +319,7 @@ gst_direct_control_binding_get_property (GObject * object, guint prop_id,
g_value_set_object (value, self->cs);
break;
case PROP_ABSOLUTE:
g_value_set_boolean (value, self->want_absolute);
g_value_set_boolean (value, self->ABI.abi.want_absolute);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);

View file

@ -81,13 +81,16 @@ struct _GstDirectControlBinding {
GValue cur_value;
gdouble last_value;
gint byte_size;
gboolean want_absolute;
GstDirectControlBindingConvertValue convert_value;
GstDirectControlBindingConvertGValue convert_g_value;
gpointer _gst_reserved[GST_PADDING];
};
union {
gpointer _gst_reserved[GST_PADDING];
struct {
gboolean want_absolute;
} abi;
} ABI;};
/**
* GstDirectControlBindingClass: