From 87cf8f0329a479598975483cf9238fe1218e91c3 Mon Sep 17 00:00:00 2001
From: Andrea Zagli <azagli@libero.it>
Date: Sat, 5 Sep 2009 17:05:28 +0200
Subject: [PATCH] Bugfixes and adjustments.

---
 src/fielddatetime.c | 8 +++++---
 src/form.c          | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/fielddatetime.c b/src/fielddatetime.c
index 6cc2bc1..9bbe44a 100644
--- a/src/fielddatetime.c
+++ b/src/fielddatetime.c
@@ -371,7 +371,7 @@ gtk_form_field_datetime_set_from_datamodel (GtkFormField *field, GdaDataModel *d
 
 			format = gtk_form_field_datetime_get_str_format (GTK_FORM_FIELD_DATETIME (field));
 
-			priv->original_value = gtk_form_field_datetime_get_tm_from_str (value, format);
+			priv->original_value = g_memdup (datetime, sizeof (struct tm));
 		}
 	else
 		{
@@ -403,6 +403,7 @@ struct tm
 	guint len_strv;
 	guint len_formatv;
 	guint i;
+	guint i_to;
 
 	g_return_val_if_fail (str != NULL, NULL);
 
@@ -415,7 +416,7 @@ struct tm
 	new_format = g_strstrip (g_strdup (format));
 	if (g_strcmp0 (new_format, "") == 0)
 		{
-			new_format = g_strdup ("%Y-%m-%d %H-%M-%S");
+			new_format = g_strdup ("%Y-%m-%d %H:%M:%S");
 		}
 
 	/* removes format identifiers to find delimiters */
@@ -449,7 +450,8 @@ struct tm
 	ret = g_malloc0 (sizeof (struct tm));
 	ret->tm_mday = 1;
 
-	for (i = 0; i < MIN (len_strv, len_formatv); i++)
+	i_to = MIN (len_strv, len_formatv);
+	for (i = 0; i < i_to; i++)
 		{
 			if (g_strcmp0 (format_tokens[i], "%Y") == 0)
 				{
diff --git a/src/form.c b/src/form.c
index 9370a18..2cd115e 100644
--- a/src/form.c
+++ b/src/form.c
@@ -381,12 +381,12 @@ GtkForm
 																				{
 																					if (g_strcmp0 (type, "datetime") == 0)
 																						{
-																							if (g_strcmp0 (prop, "date"))
+																							if (g_strcmp0 (prop, "date") == 0)
 																								{
 																									g_object_set (G_OBJECT (field), "type", GTK_FORM_FIELD_DATETIME_TYPE_DATE, NULL);
 																								
 																								}
-																							else if (g_strcmp0 (prop, "time"))
+																							else if (g_strcmp0 (prop, "time") == 0)
 																								{
 																									g_object_set (G_OBJECT (field), "type", GTK_FORM_FIELD_DATETIME_TYPE_TIME, NULL);
 																								
-- 
2.49.0