changeset 98901:f98d4eaeba07

* dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols in arrays.
author Michael Albinus <michael.albinus@gmx.de>
date Sun, 19 Oct 2008 18:51:19 +0000
parents b5b2e1c97f37
children eec595ae4d70
files src/dbusbind.c
diffstat 1 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/dbusbind.c	Sun Oct 19 18:50:16 2008 +0000
+++ b/src/dbusbind.c	Sun Oct 19 18:51:19 2008 +0000
@@ -162,9 +162,12 @@
    : (FLOATP (object)) ? DBUS_TYPE_DOUBLE				\
    : (STRINGP (object)) ? DBUS_TYPE_STRING				\
    : (XD_DBUS_TYPE_P (object)) ? XD_SYMBOL_TO_DBUS_TYPE (object)	\
-   : (CONSP (object)) ? ((XD_DBUS_TYPE_P (CAR_SAFE (object)))		\
-			 ? XD_SYMBOL_TO_DBUS_TYPE (CAR_SAFE (object))	\
-			 : DBUS_TYPE_ARRAY)				\
+   : (CONSP (object))							\
+   ? ((XD_DBUS_TYPE_P (CAR_SAFE (object)))				\
+      ? ((XD_BASIC_DBUS_TYPE (XD_SYMBOL_TO_DBUS_TYPE (CAR_SAFE (object)))) \
+	 ? DBUS_TYPE_ARRAY						\
+	 : XD_SYMBOL_TO_DBUS_TYPE (CAR_SAFE (object)))			\
+      : DBUS_TYPE_ARRAY)						\
    : DBUS_TYPE_INVALID)
 
 /* Return a list pointer which does not have a Lisp symbol as car.  */