[script] Fix the default deserialization
authorEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 12 Aug 2009 15:01:25 +0000 (16:01 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 12 Aug 2009 15:01:25 +0000 (16:01 +0100)
Properties parsed from ClutterScript should now use G_TYPE_INT64
and automatically convert between G_TYPE_INT and G_TYPE_INT64.

clutter/clutter-script.c

index 573d2ac..bf692dd 100644 (file)
@@ -965,7 +965,7 @@ clutter_script_parse_node (ClutterScript *script,
       switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value)))
         {
         /* fundamental JSON types */
-        case G_TYPE_INT:
+        case G_TYPE_INT64:
         case G_TYPE_DOUBLE:
         case G_TYPE_STRING:
         case G_TYPE_BOOLEAN:
@@ -973,25 +973,30 @@ clutter_script_parse_node (ClutterScript *script,
           retval = TRUE;
           break;
 
+        case G_TYPE_INT:
+          g_value_set_int (value, g_value_get_int64 (&node_value));
+          retval = TRUE;
+          break;
+
         case G_TYPE_UINT:
-          g_value_set_uint (value, (guint) g_value_get_int (&node_value));
+          g_value_set_uint (value, (guint) g_value_get_int64 (&node_value));
           retval = TRUE;
           break;
 
         case G_TYPE_ULONG:
-          g_value_set_ulong (value, (gulong) g_value_get_int (&node_value));
+          g_value_set_ulong (value, (gulong) g_value_get_int64 (&node_value));
           retval = TRUE;
           break;
 
         case G_TYPE_UCHAR:
-          g_value_set_uchar (value, (guchar) g_value_get_int (&node_value));
+          g_value_set_uchar (value, (guchar) g_value_get_int64 (&node_value));
           retval = TRUE;
           break;
 
         case G_TYPE_ENUM:
-          if (G_VALUE_HOLDS (&node_value, G_TYPE_INT))
+          if (G_VALUE_HOLDS (&node_value, G_TYPE_INT64))
             {
-              g_value_set_enum (value, g_value_get_int (&node_value));
+              g_value_set_enum (value, g_value_get_int64 (&node_value));
               retval = TRUE;
             }
           else if (G_VALUE_HOLDS (&node_value, G_TYPE_STRING))
@@ -1007,9 +1012,9 @@ clutter_script_parse_node (ClutterScript *script,
           break;
 
         case G_TYPE_FLAGS:
-          if (G_VALUE_HOLDS (&node_value, G_TYPE_INT))
+          if (G_VALUE_HOLDS (&node_value, G_TYPE_INT64))
             {
-              g_value_set_flags (value, g_value_get_int (&node_value));
+              g_value_set_flags (value, g_value_get_int64 (&node_value));
               retval = TRUE;
             }
           else if (G_VALUE_HOLDS (&node_value, G_TYPE_STRING))