From 5e64717a5ffb61c51ca936d51d0d38e5abc08c3a Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 20 Jun 2011 11:15:27 -0400 Subject: [PATCH] gclosure: Add G_TYPE_ENUM and G_TYPE_PARAM for g_cclosure_marshal_generic() These are fundamental types missed in the original commit. --- gobject/gclosure.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gobject/gclosure.c b/gobject/gclosure.c index 25002a0..9cce0b8 100644 --- a/gobject/gclosure.c +++ b/gobject/gclosure.c @@ -954,6 +954,7 @@ value_to_ffi_type (const GValue *gvalue, gpointer *value) case G_TYPE_BOOLEAN: case G_TYPE_CHAR: case G_TYPE_INT: + case G_TYPE_ENUM: rettype = &ffi_type_sint; *value = (gpointer)&(gvalue->data[0].v_int); break; @@ -966,6 +967,7 @@ value_to_ffi_type (const GValue *gvalue, gpointer *value) case G_TYPE_STRING: case G_TYPE_OBJECT: case G_TYPE_BOXED: + case G_TYPE_PARAM: case G_TYPE_POINTER: case G_TYPE_INTERFACE: case G_TYPE_VARIANT: @@ -1052,9 +1054,15 @@ value_from_ffi_type (GValue *gvalue, gpointer *value) case G_TYPE_BOXED: g_value_set_boxed (gvalue, *(gpointer*)value); break; + case G_TYPE_ENUM: + g_value_set_enum (gvalue, *(gint*)value); + break; case G_TYPE_FLAGS: g_value_set_flags (gvalue, *(guint*)value); break; + case G_TYPE_PARAM: + g_value_set_param (gvalue, *(gpointer*)value); + break; case G_TYPE_OBJECT: g_value_set_object (gvalue, *(gpointer*)value); break; -- 2.7.4