[gnumeric] GUI: Avoid showing "Internal ERROR!"
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] GUI: Avoid showing "Internal ERROR!"
- Date: Mon, 26 Sep 2011 19:10:39 +0000 (UTC)
commit c73b7562cb43a835aa741d3530a3f4021879261f
Author: Morten Welinder <terra gnome org>
Date: Mon Sep 26 15:10:23 2011 -0400
GUI: Avoid showing "Internal ERROR!"
ChangeLog | 3 +++
src/workbook-view.c | 16 ++++++++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 8f044ca..4a9e2b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-09-26 Morten Welinder <terra gnome org>
+ * src/workbook-view.c (wb_view_auto_expr_recalc): Don't show
+ "Internal ERROR!" when we encounter an invalid date value.
+
* src/gnm-format.c (hash_fill): Handle NULL str without crash.
* src/wbc-gtk-actions.c (cb_add_component_from_file): #if 0.
diff --git a/src/workbook-view.c b/src/workbook-view.c
index 0589650..5605095 100644
--- a/src/workbook-view.c
+++ b/src/workbook-view.c
@@ -532,7 +532,6 @@ wb_view_auto_expr_recalc (WorkbookView *wbv)
if (format) {
PangoContext *context = gnm_pango_context_get ();
PangoLayout *layout = pango_layout_new (context);
- PangoAttrList *atl;
gsize old_len = str->len;
GOFormatNumberError err =
format_value_layout (layout, format, v,
@@ -541,7 +540,11 @@ wb_view_auto_expr_recalc (WorkbookView *wbv)
25 - g_utf8_strlen (str->str, -1),
workbook_date_conv (wb_view_get_workbook (wbv)));
go_format_unref (tmp_format);
- if (!err) {
+ switch (err) {
+ case GO_FORMAT_NUMBER_OK:
+ case GO_FORMAT_NUMBER_DATE_ERROR: {
+ PangoAttrList *atl;
+
g_string_append (str, pango_layout_get_text (layout));
/* We need to shift the attribute list */
atl = pango_attr_list_ref (pango_layout_get_attributes (layout));
@@ -552,8 +555,13 @@ wb_view_auto_expr_recalc (WorkbookView *wbv)
str->len - old_len);
pango_attr_list_unref (atl);
}
- } else
- g_string_append (str, "Internal ERROR!");
+ break;
+ }
+ default:
+ case GO_FORMAT_NUMBER_INVALID_FORMAT:
+ g_string_append (str, _("Invalid format"));
+ break;
+ }
g_object_unref (layout);
g_object_unref (context);
} else
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]