[libgda] Better check for errors in time data entry widgets
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Better check for errors in time data entry widgets
- Date: Sun, 1 Aug 2010 15:53:17 +0000 (UTC)
commit 4019afd6c919f125568db60bd6f9c7beb740ee55
Author: Vivien Malerba <malerba gnome-db org>
Date: Sun Aug 1 17:50:36 2010 +0200
Better check for errors in time data entry widgets
libgda-ui/data-entries/gdaui-entry-common-time.c | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/libgda-ui/data-entries/gdaui-entry-common-time.c b/libgda-ui/data-entries/gdaui-entry-common-time.c
index 67c4fab..84ecca2 100644
--- a/libgda-ui/data-entries/gdaui-entry-common-time.c
+++ b/libgda-ui/data-entries/gdaui-entry-common-time.c
@@ -410,12 +410,18 @@ real_get_value (GdauiEntryWrapper *mgwrap)
if (type == G_TYPE_DATE) {
str2 = gdaui_formatted_entry_get_text (GDAUI_FORMATTED_ENTRY (mgtim->priv->entry_date));
- value = gda_data_handler_get_value_from_str (dh, str2, type); /* FIXME: not SQL but STR */
- g_free (str2);
+ if (str2) {
+ value = gda_data_handler_get_value_from_str (dh, str2, type);
+ g_free (str2);
+ }
}
else if (type == GDA_TYPE_TIME) {
str2 = gdaui_formatted_entry_get_text (GDAUI_FORMATTED_ENTRY (mgtim->priv->entry_time));
- value = gda_data_handler_get_value_from_str (dh, str2, type);
+ if (str2) {
+ value = gda_data_handler_get_value_from_str (dh, str2, type);
+ g_free (str2);
+ }
+
if (value && (G_VALUE_TYPE (value) != GDA_TYPE_NULL) &&
mgtim->priv->last_value_set &&
gda_value_isa (mgtim->priv->last_value_set, GDA_TYPE_TIME)) {
@@ -427,18 +433,19 @@ real_get_value (GdauiEntryWrapper *mgwrap)
gda_value_set_time (value, gdatime);
g_free (gdatime);
}
- g_free (str2);
}
else if (type == GDA_TYPE_TIMESTAMP) {
gchar *tmpstr, *tmpstr2;
tmpstr = gdaui_formatted_entry_get_text (GDAUI_FORMATTED_ENTRY (mgtim->priv->entry_time));
tmpstr2 = gdaui_formatted_entry_get_text (GDAUI_FORMATTED_ENTRY (mgtim->priv->entry_date));
- str2 = g_strdup_printf ("%s %s", tmpstr2, tmpstr);
+ if (tmpstr && tmpstr2) {
+ str2 = g_strdup_printf ("%s %s", tmpstr2, tmpstr);
+ value = gda_data_handler_get_value_from_str (dh, str2, type);
+ g_free (str2);
+ }
g_free (tmpstr);
g_free (tmpstr2);
- value = gda_data_handler_get_value_from_str (dh, str2, type);
- g_free (str2);
if (value && (G_VALUE_TYPE (value) != GDA_TYPE_NULL) &&
mgtim->priv->last_value_set &&
gda_value_isa (mgtim->priv->last_value_set, GDA_TYPE_TIMESTAMP)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]