[evolution] Handle the case where error definitions don't include certain fields
- From: Jonathon Jongsma <jjongsma src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution] Handle the case where error definitions don't include certain fields
- Date: Tue, 8 Dec 2009 17:26:22 +0000 (UTC)
commit 5cdf3c8797a3a68d062a65f45c464a7c6e581c9e
Author: Jonathon Jongsma <jonathon quotidian org>
Date: Tue Dec 8 10:58:00 2009 -0600
Handle the case where error definitions don't include certain fields
Some error definitions don't specify a title or secondary text. Handle these
situations properly. This was a regression caused by my refactoring. Fixes
bug #604085.
e-util/e-alert.c | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
---
diff --git a/e-util/e-alert.c b/e-util/e-alert.c
index ff8801f..bc116f0 100644
--- a/e-util/e-alert.c
+++ b/e-util/e-alert.c
@@ -608,8 +608,11 @@ e_alert_get_title (EAlert *alert)
g_return_val_if_fail (alert && alert->priv && alert->priv->definition, NULL);
formatted = g_string_new ("");
- e_alert_format_string (formatted, alert->priv->definition->title,
- alert->priv->args, FALSE);
+ if (alert->priv->definition->title) {
+ e_alert_format_string (formatted,
+ alert->priv->definition->title,
+ alert->priv->args, FALSE);
+ }
return g_string_free (formatted, FALSE);
}
@@ -621,8 +624,15 @@ e_alert_get_primary_text (EAlert *alert)
formatted = g_string_new ("");
if (alert->priv->definition)
- e_alert_format_string (formatted, alert->priv->definition->primary,
- alert->priv->args, FALSE);
+ if (alert->priv->definition->primary) {
+ e_alert_format_string (formatted,
+ alert->priv->definition->primary,
+ alert->priv->args, FALSE);
+ } else {
+ char *title = e_alert_get_title (alert);
+ g_string_append (formatted, title);
+ g_free (title);
+ }
else {
g_string_append_printf(formatted,
_("Internal error, unknown error '%s' requested"),
@@ -639,8 +649,11 @@ e_alert_get_secondary_text (EAlert *alert)
g_return_val_if_fail (alert && alert->priv && alert->priv->definition, NULL);
formatted = g_string_new ("");
- e_alert_format_string (formatted, alert->priv->definition->secondary,
- alert->priv->args, TRUE);
+ if (alert->priv->definition->secondary) {
+ e_alert_format_string (formatted,
+ alert->priv->definition->secondary,
+ alert->priv->args, TRUE);
+ }
return g_string_free (formatted, FALSE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]