summaryrefslogtreecommitdiff
path: root/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'dbus')
-rw-r--r--dbus/dbus-gobject.c4
-rw-r--r--dbus/dbus-gproxy.c6
-rw-r--r--dbus/dbus-gsignature.c2
-rw-r--r--dbus/dbus-gtype-specialized.c2
-rw-r--r--dbus/dbus-gvalue-parse-variant.c13
5 files changed, 20 insertions, 7 deletions
diff --git a/dbus/dbus-gobject.c b/dbus/dbus-gobject.c
index bac91be..bdce16b 100644
--- a/dbus/dbus-gobject.c
+++ b/dbus/dbus-gobject.c
@@ -1732,7 +1732,7 @@ invoke_object_method (GObject *object,
types_array = _dbus_gtypes_from_arg_signature (in_signature, FALSE);
n_params = types_array->len;
- types = (const GType*) types_array->data;
+ types = (const GType*)(void *) types_array->data;
value_array = _dbus_gvalue_demarshal_message (&context, message, n_params, types, &error);
if (value_array == NULL)
@@ -3065,7 +3065,7 @@ dbus_g_object_register_marshaller (GClosureMarshal marshaller,
g_array_append_val (types, gtype);
dbus_g_object_register_marshaller_array (marshaller, rettype,
- types->len, (GType*) types->data);
+ types->len, (GType*)(void *) types->data);
g_array_free (types, TRUE);
va_end (args);
diff --git a/dbus/dbus-gproxy.c b/dbus/dbus-gproxy.c
index c3ae9ec..52c8db9 100644
--- a/dbus/dbus-gproxy.c
+++ b/dbus/dbus-gproxy.c
@@ -1711,7 +1711,7 @@ marshal_dbus_message_to_g_marshaller (GClosure *closure,
priv = DBUS_G_PROXY_GET_PRIVATE(proxy);
c_marshaller = _dbus_gobject_lookup_marshaller (G_TYPE_NONE, gsignature->len,
- (GType*) gsignature->data);
+ (GType*)(void *) gsignature->data);
g_return_if_fail (c_marshaller != NULL);
@@ -1721,7 +1721,7 @@ marshal_dbus_message_to_g_marshaller (GClosure *closure,
context.gconnection = DBUS_G_CONNECTION_FROM_CONNECTION (priv->manager->connection);
context.proxy = proxy;
- types = (const GType*) gsignature->data;
+ types = (const GType*)(void *) gsignature->data;
value_array = _dbus_gvalue_demarshal_message (&context, message,
gsignature->len, types, NULL);
}
@@ -3046,7 +3046,7 @@ dbus_g_proxy_add_signal (DBusGProxy *proxy,
va_end (args);
#ifndef G_DISABLE_CHECKS
- if (_dbus_gobject_lookup_marshaller (G_TYPE_NONE, gtypesig->len, (const GType*) gtypesig->data) == NULL)
+ if (_dbus_gobject_lookup_marshaller (G_TYPE_NONE, gtypesig->len, (const GType*)(void *) gtypesig->data) == NULL)
g_warning ("No marshaller for signature of signal '%s'", signal_name);
#endif
diff --git a/dbus/dbus-gsignature.c b/dbus/dbus-gsignature.c
index 46c9205..63cce0b 100644
--- a/dbus/dbus-gsignature.c
+++ b/dbus/dbus-gsignature.c
@@ -131,7 +131,7 @@ signature_iter_to_g_type_struct (DBusSignatureIter *iter, gboolean is_client)
}
while (dbus_signature_iter_next (iter));
- ret = dbus_g_type_get_structv ("GValueArray", types->len, (GType*) types->data);
+ ret = dbus_g_type_get_structv ("GValueArray", types->len, (GType*)(void *) types->data);
g_array_free (types, TRUE);
return ret;
}
diff --git a/dbus/dbus-gtype-specialized.c b/dbus/dbus-gtype-specialized.c
index bb1faf4..cfef797 100644
--- a/dbus/dbus-gtype-specialized.c
+++ b/dbus/dbus-gtype-specialized.c
@@ -867,7 +867,7 @@ dbus_g_type_get_struct (const char *container,
va_end (args);
ret = lookup_or_register_specialized (container, types->len,
- (GType *) types->data);
+ (GType *)(void *) types->data);
g_array_free (types, TRUE);
diff --git a/dbus/dbus-gvalue-parse-variant.c b/dbus/dbus-gvalue-parse-variant.c
index 52c5f5b..9a2adfb 100644
--- a/dbus/dbus-gvalue-parse-variant.c
+++ b/dbus/dbus-gvalue-parse-variant.c
@@ -198,6 +198,11 @@ dbus_g_value_basic_array_parse_variant (GVariant *variant,
dg_size = gv_size = sizeof (guint64);
break;
+ case G_VARIANT_CLASS_FLOAT:
+ gtype = G_TYPE_FLOAT;
+ dg_size = gv_size = sizeof (gfloat);
+ break;
+
case G_VARIANT_CLASS_DOUBLE:
gtype = G_TYPE_DOUBLE;
dg_size = gv_size = sizeof (gdouble);
@@ -459,6 +464,14 @@ dbus_g_value_parse_variant_by_type (GVariant *variant,
break;
+ case G_VARIANT_CLASS_FLOAT:
+ g_value_init (value, G_TYPE_FLOAT);
+
+ if (variant != NULL)
+ g_value_set_float (value, g_variant_get_float (variant));
+
+ break;
+
case G_VARIANT_CLASS_DOUBLE:
g_value_init (value, G_TYPE_DOUBLE);