Support int64 and uint64 properties in GObjects, patch by Christian
authorJürg Billeter <j@bitron.ch>
Wed, 16 Jul 2008 22:10:20 +0000 (22:10 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 16 Jul 2008 22:10:20 +0000 (22:10 +0000)
2008-07-17  Jürg Billeter  <j@bitron.ch>

* gobject/valaccodetypesymbolbinding.vala:

Support int64 and uint64 properties in GObjects,
patch by Christian Hergert, fixes bug 543055

svn path=/trunk/; revision=1701

ChangeLog
THANKS
gobject/valaccodetypesymbolbinding.vala

index 96b9db2..8fcd15d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-07-17  Jürg Billeter  <j@bitron.ch>
 
+       * gobject/valaccodetypesymbolbinding.vala:
+
+       Support int64 and uint64 properties in GObjects,
+       patch by Christian Hergert, fixes bug 543055
+
+2008-07-17  Jürg Billeter  <j@bitron.ch>
+
        * vala/valainterfacewriter.vala:
 
        Fix support for static and class fields in interface writer,
diff --git a/THANKS b/THANKS
index 2d6f3eb..0671c84 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -8,6 +8,7 @@ Andreas Brauchli
 Arwed von Merkatz
 Carl-Anton Ingmarsson
 Cayle Graumann
+Christian Hergert
 Christian Meyer
 Cyril Soldani
 Daniel Lucraft
index 3ba0e6b..939b109 100644 (file)
@@ -81,6 +81,24 @@ public abstract class Vala.CCodeTypeSymbolBinding : CCodeBinding {
                                } else {
                                        cspec.add_argument (new CCodeConstant ("0U"));
                                }
+                       } else if (st.get_type_id () == "G_TYPE_INT64") {
+                               cspec.call = new CCodeIdentifier ("g_param_spec_int64");
+                               cspec.add_argument (new CCodeConstant ("G_MININT64"));
+                               cspec.add_argument (new CCodeConstant ("G_MAXINT64"));
+                               if (prop.default_expression != null) {
+                                       cspec.add_argument ((CCodeExpression) prop.default_expression.ccodenode);
+                               } else {
+                                       cspec.add_argument (new CCodeConstant ("0"));
+                               }
+                       } else if (st.get_type_id () == "G_TYPE_UINT64") {
+                               cspec.call = new CCodeIdentifier ("g_param_spec_uint64");
+                               cspec.add_argument (new CCodeConstant ("0"));
+                               cspec.add_argument (new CCodeConstant ("G_MAXUINT64"));
+                               if (prop.default_expression != null) {
+                                       cspec.add_argument ((CCodeExpression) prop.default_expression.ccodenode);
+                               } else {
+                                       cspec.add_argument (new CCodeConstant ("0U"));
+                               }
                        } else if (st.get_type_id () == "G_TYPE_LONG") {
                                cspec.call = new CCodeIdentifier ("g_param_spec_long");
                                cspec.add_argument (new CCodeConstant ("G_MINLONG"));