]> saetta.ns0.it Git - libgtkform/commitdiff
Bugfixes.
authorAndrea Zagli <azagli@libero.it>
Sat, 23 Dec 2006 16:39:28 +0000 (16:39 +0000)
committerAndrea Zagli <azagli@libero.it>
Sat, 23 Dec 2006 16:39:28 +0000 (16:39 +0000)
ChangeLog
src/fieldboolean.c
src/fielddatetime.c
src/fieldfloat.c
src/fieldinteger.c
src/fieldtext.c
src/widget.c

index 30474e0d32d48cd8809d976fc6d9f3d1ac43e646..f0e58a83fef30c3640257b577ead37c204d3e9c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,16 @@
+2006-12-23 Andrea Zagli <azagli@inwind.it>
+
+       * widget.c:
+       * fieldboolean.c:
+       * fielddatetime.c:
+       * fieldfloat.c:
+       * fieldinteger.c:
+       * fieldtext.c: checked if form_widget property isn't set
+
 2006-12-21 Andrea Zagli <azagli@inwind.it>
 
        * libform.h:
-       * form.c: form_get_field_from_name, form_get_widget_from_name
+       * form.c: added form_get_field_from_name, form_get_widget_from_name
        * libformfield.h:
        * field.c: added form_field_get_form_widget
        * libformwidget.h:
index 758b3becd7ccfa8ba4dd408d1c6d30ee70cc42d1..1ffb6d63090bdda584d5c70244cfac7b81cfada7 100644 (file)
@@ -140,7 +140,10 @@ const gchar
                      "form-widget", &fw,
                      NULL);
 
-       ret = form_widget_get_value_stringify (fw);
+       if (IS_FORM_WIDGET (fw)
+               {
+                       ret = form_widget_get_value_stringify (fw);
+               }
 
        return ret;
 }
@@ -153,12 +156,16 @@ const gchar
 const GValue
 *form_field_boolean_get_value (FormField *field)
 {
-       GValue *ret = g_malloc0 (sizeof (GValue));
+       GValue *ret = NULL;
 
        const gchar *value = form_field_boolean_get_value_stringify (field);
 
-       g_value_init (ret, G_TYPE_BOOLEAN);
-       g_value_set_boolean (ret, strtol (value, NULL, 10));
+       if (value != NULL)
+               {
+                       ret = g_malloc0 (sizeof (GValue));
+                       g_value_init (ret, G_TYPE_BOOLEAN);
+                       g_value_set_boolean (ret, strtol (value, NULL, 10));
+               }
 
        return (const GValue *)ret;
 }
index a47dbc1bff44922b11ea8374647b0882a182adc1..1e89ee766a412df1af7894c7dcf763302d76891e 100644 (file)
@@ -151,7 +151,10 @@ const gchar
                      "form-widget", &fw,
                      NULL);
 
-       ret = form_widget_get_value_stringify (fw);
+       if (IS_FORM_WIDGET (fw))
+               {
+                       ret = form_widget_get_value_stringify (fw);
+               }
 
        return ret;
 }
@@ -165,13 +168,14 @@ const GValue
 *form_field_datetime_get_value (FormField *field)
 {
        struct tm datetime;
-       GValue *ret = g_malloc0 (sizeof (GValue));
+       GValue *ret = NULL;
        const gchar *format = form_field_get_str_format (field);
 
        const gchar *value = form_field_datetime_get_value_stringify (field);
 
-       if (strptime (value, format, &datetime) != '\0')
+       if (value != NULL && strptime (value, format, &datetime) != '\0')
                {
+                       ret = g_malloc0 (sizeof (GValue));
                        g_value_init (ret, G_TYPE_POINTER);
                        g_value_set_pointer (ret, &datetime);
                }
index f4f77fc516830cad0b196340410dfa4ca47e1e2f..ed3754712a3f4a731b433ee08afa9fdce62b696f 100644 (file)
@@ -140,7 +140,10 @@ const gchar
                      "form-widget", &fw,
                      NULL);
 
-       ret = g_strdup_printf ("%f", strtod (form_widget_get_value_stringify (fw), NULL));
+       if (IS_FORM_WIDGET (fw))
+               {
+                       ret = g_strdup_printf ("%f", strtod (form_widget_get_value_stringify (fw), NULL));
+               }
 
        return ret;
 }
@@ -153,12 +156,16 @@ const gchar
 const GValue
 *form_field_float_get_value (FormField *field)
 {
-       GValue *ret = g_malloc0 (sizeof (GValue));
+       GValue *ret = NULL;
 
        const gchar *value = form_field_float_get_value_stringify (field);
 
-       g_value_init (ret, G_TYPE_FLOAT);
-       g_value_set_float (ret, strtod (value, NULL));
+       if (value != NULL)
+               {
+                       ret = g_malloc0 (sizeof (GValue));
+                       g_value_init (ret, G_TYPE_FLOAT);
+                       g_value_set_float (ret, strtod (value, NULL));
+               }
 
        return (const GValue *)ret;
 }
index 5beaffbad3ec65242fe77474fa0f4032ca8b027f..32a479ad51875dfee5a1c821cdbc7a44b4a0c14e 100644 (file)
@@ -138,7 +138,10 @@ const gchar
                      "form-widget", &fw,
                      NULL);
 
-       ret = g_strdup_printf ("%d", strtol (form_widget_get_value_stringify (fw), NULL, 10));
+       if (IS_FORM_WIDGET (fw))
+               {
+                       ret = g_strdup_printf ("%d", strtol (form_widget_get_value_stringify (fw), NULL, 10));
+               }
 
        return ret;
 }
@@ -151,12 +154,16 @@ const gchar
 const GValue
 *form_field_integer_get_value (FormField *field)
 {
-       GValue *ret = g_malloc0 (sizeof (GValue));
+       GValue *ret = NULL;
 
        const gchar *value = form_field_integer_get_value_stringify (field);
 
-       g_value_init (ret, G_TYPE_INT);
-       g_value_set_int (ret, atol (value));
+       if (value != NULL)
+               {
+                       ret = g_malloc0 (sizeof (GValue));
+                       g_value_init (ret, G_TYPE_INT);
+                       g_value_set_int (ret, atol (value));
+               }
 
        return (const GValue *)ret;
 }
index 774e0946056156967616262b88abb44da153c33c..29efa8a586a11c2e4c2dd522ec678e567b5c833c 100644 (file)
@@ -138,7 +138,10 @@ const gchar
                      "form-widget", &fw,
                      NULL);
 
-       ret = form_widget_get_value_stringify (fw);
+       if (IS_FORM_WIDGET (fw))
+               {
+                       ret = form_widget_get_value_stringify (fw);
+               }
 
        return ret;
 }
@@ -151,12 +154,16 @@ const gchar
 const GValue
 *form_field_text_get_value (FormField *field)
 {
-       GValue *ret = g_malloc0 (sizeof (GValue));
+       GValue *ret = NULL;
 
        const gchar *value = form_field_text_get_value_stringify (field);
 
-       g_value_init (ret, G_TYPE_STRING);
-       g_value_set_string (ret, value);
+       if (value != NULL)
+               {
+                       ret = g_malloc0 (sizeof (GValue));
+                       g_value_init (ret, G_TYPE_STRING);
+                       g_value_set_string (ret, value);
+               }
 
        return (const GValue *)ret;
 }
index e4b1bb986b373e1780554515dc814d125db730a8..eac6f27d0604467425cb02b3094a2fea93530cf8 100644 (file)
@@ -179,7 +179,10 @@ const gchar
 const gchar
 *form_widget_get_value_stringify (FormWidget *fwidget)
 {
-       FORM_WIDGET_GET_CLASS (fwidget)->get_value_stringify (fwidget);
+       if (IS_FORM_WIDGET (fwidget))
+               {
+                       FORM_WIDGET_GET_CLASS (fwidget)->get_value_stringify (fwidget);
+               }
 }
 
 /**
@@ -191,7 +194,10 @@ const gchar
 gboolean
 form_widget_set_value_stringify (FormWidget *fwidget, const gchar *value)
 {
-       FORM_WIDGET_GET_CLASS (fwidget)->set_value_stringify (fwidget, value);
+       if (IS_FORM_WIDGET (fwidget))
+               {
+                       FORM_WIDGET_GET_CLASS (fwidget)->set_value_stringify (fwidget, value);
+               }
 }
 
 /* PRIVATE */