ginvoke: support conversion of fundamental type GParamSpec values
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Mon, 3 Sep 2012 12:39:31 +0000 (14:39 +0200)
committerMartin Pitt <martinpitt@gnome.org>
Mon, 3 Sep 2012 14:00:07 +0000 (16:00 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=683265

girepository/ginvoke.c

index ed4996d9fdc24e7721ab5cba1e822f29bc7eca48..5c0ace4c8a35cdc3b1b40fe414439543ad4bd278 100644 (file)
@@ -52,6 +52,7 @@ value_to_ffi_type (const GValue *gvalue, gpointer *value)
     case G_TYPE_OBJECT:
     case G_TYPE_BOXED:
     case G_TYPE_POINTER:
+    case G_TYPE_PARAM:
       rettype = &ffi_type_pointer;
       *value = (gpointer)&(gvalue->data[0].v_pointer);
       break;
@@ -118,6 +119,7 @@ g_value_to_ffi_return_type (const GValue *gvalue,
   case G_TYPE_OBJECT:
   case G_TYPE_BOXED:
   case G_TYPE_POINTER:
+  case G_TYPE_PARAM:
     rettype = &ffi_type_pointer;
     break;
   case G_TYPE_FLOAT:
@@ -198,6 +200,9 @@ g_value_from_ffi_value (GValue           *gvalue,
   case G_TYPE_BOXED:
       g_value_set_boxed (gvalue, (gpointer)value->v_pointer);
       break;
+  case G_TYPE_PARAM:
+      g_value_set_param (gvalue, (gpointer)value->v_pointer);
+      break;
   default:
     g_warning ("Unsupported fundamental type: %s",
               g_type_name (g_type_fundamental (G_VALUE_TYPE (gvalue))));