[glib] values: Use v_pointer for g_value_set_gtype()



commit 9d52243790aa460c228bdcf7ee8e28f78ecd7b13
Author: Benjamin Otte <otte redhat com>
Date:   Sun Jan 1 21:51:40 2012 +0100

    values: Use v_pointer for g_value_set_gtype()
    
    ... and g_value_get_gtype(). G_TYPE_GTYPE is a pointer type, so it's
    values should use the v_pointer member. This is especially true, because
    the value collectors from varargs in gvaluecollector.h use that, too.
    
    This should only cause issues when sizeof(glong) != sizeof(gpointer),
    and I'm not aware of any such platform. Maybe win64?

 gobject/gvaluetypes.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gobject/gvaluetypes.c b/gobject/gvaluetypes.c
index 5636990..799dfdd 100644
--- a/gobject/gvaluetypes.c
+++ b/gobject/gvaluetypes.c
@@ -1187,7 +1187,7 @@ g_value_set_gtype (GValue *value,
 {
   g_return_if_fail (G_VALUE_HOLDS_GTYPE (value));
 
-  value->data[0].v_long = v_gtype;
+  value->data[0].v_pointer = GSIZE_TO_POINTER (v_gtype);
   
 }
 
@@ -1206,7 +1206,7 @@ g_value_get_gtype (const GValue *value)
 {
   g_return_val_if_fail (G_VALUE_HOLDS_GTYPE (value), 0);
 
-  return value->data[0].v_long;
+  return GPOINTER_TO_SIZE (value->data[0].v_pointer);
 }
 
 /**



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]