]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
only use g_value_set_pointer if the GType of a class is G_TYPE_POINTER;
authorRyan Lortie <desrt@desrt.ca>
Mon, 16 Feb 2009 16:49:21 +0000 (16:49 +0000)
committerRyan Lortie <ryanl@src.gnome.org>
Mon, 16 Feb 2009 16:49:21 +0000 (16:49 +0000)
2009-02-16  Ryan Lortie  <desrt@desrt.ca>

        * vala/valaclass.vala: only use g_value_set_pointer if the GType of a
        class is G_TYPE_POINTER; else use g_value_set_boxed.

svn path=/trunk/; revision=2445

ChangeLog
vala/valaclass.vala

index 51b3723632282f6024bcf8df5f5d7bcc5dde64ac..1e9272f51d369a2dcfa62282c8bf1a64ccc74bd2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-16  Ryan Lortie  <desrt@desrt.ca>
+
+       * vala/valaclass.vala: only use g_value_set_pointer if the GType of a
+       class is G_TYPE_POINTER; else use g_value_set_boxed.
+
 2009-02-16  Ryan Lortie  <desrt@desrt.ca>
 
        * gobject/valagasyncmodule.vala: remove the dummy-object hack since
index 6cece1ffd80312194ae168b5bde969b24635ad06..a32abfc2365adbd13cc442126cf6db5c2a3e1eb4 100644 (file)
@@ -718,8 +718,10 @@ public class Vala.Class : ObjectTypeSymbol {
                                get_value_function = get_lower_case_cname ("value_get_");
                        } else if (base_class != null) {
                                get_value_function = base_class.get_get_value_function ();
-                       } else {
+                       } else if (get_type_id () == "G_TYPE_POINTER") {
                                get_value_function = "g_value_get_pointer";
+                       } else {
+                               get_value_function = "g_value_get_boxed";
                        }
                }
 
@@ -732,8 +734,10 @@ public class Vala.Class : ObjectTypeSymbol {
                                set_value_function = get_lower_case_cname ("value_set_");
                        } else if (base_class != null) {
                                set_value_function = base_class.get_set_value_function ();
-                       } else {
+                       } else if (get_type_id () == "G_TYPE_POINTER") {
                                set_value_function = "g_value_set_pointer";
+                       } else {
+                               set_value_function = "g_value_set_boxed";
                        }
                }
 
@@ -1112,3 +1116,4 @@ public class Vala.Class : ObjectTypeSymbol {
        }
 }
 
+// vim:sw=8 noet