From ed81260ccf822b7f60497dfe8fde6eedbfdc2ae0 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 31 Aug 2012 13:13:22 +0200 Subject: Bug #682678 - Entering the end date for a recurring event is very difficult --- calendar/gui/dialogs/comp-editor.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'calendar/gui/dialogs/comp-editor.c') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 31fdf6f6b3..78505c2428 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -2626,14 +2626,17 @@ comp_editor_set_changed (CompEditor *editor, g_return_if_fail (IS_COMP_EDITOR (editor)); - if ((editor->priv->changed ? 1 : 0) == (changed ? 1 : 0)) - return; - - editor->priv->changed = changed; + /* always process below changes, because other parts of + the editor listen for 'changed' notifications to update + its widgets, thus do it even the value actually didn't change + */ + if ((editor->priv->changed ? 1 : 0) != (changed ? 1 : 0)) { + editor->priv->changed = changed; - action = comp_editor_get_action (editor, "save"); - g_return_if_fail (action != NULL); - gtk_action_set_sensitive (action, changed); + action = comp_editor_get_action (editor, "save"); + g_return_if_fail (action != NULL); + gtk_action_set_sensitive (action, changed); + } show_warning = changed && !editor->priv->warned && -- cgit v1.2.3