aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/event-page.c
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2006-07-14 14:36:34 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2006-07-14 14:36:34 +0800
commit48972c2dbea38548671277f5efd60dcb2e4f3176 (patch)
tree858f50b70f80b01cceb3e58f7c5775b9934abc8b /calendar/gui/dialogs/event-page.c
parent8c444c6c0f11a438ae5e1c09061014df86b2ad84 (diff)
downloadgsoc2013-evolution-48972c2dbea38548671277f5efd60dcb2e4f3176.tar.gz
gsoc2013-evolution-48972c2dbea38548671277f5efd60dcb2e4f3176.tar.zst
gsoc2013-evolution-48972c2dbea38548671277f5efd60dcb2e4f3176.zip
Fix for bug #330633
svn path=/trunk/; revision=32312
Diffstat (limited to 'calendar/gui/dialogs/event-page.c')
-rw-r--r--calendar/gui/dialogs/event-page.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 19ff6a60a3..7834c2b37e 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -513,6 +513,9 @@ update_time (EventPage *epage, ECalComponentDateTime *start_date, ECalComponentD
start_zone);
event_page_set_show_timezone (epage, calendar_config_get_show_timezone() & !all_day_event);
+ /*unblock the endtimezone widget*/
+ g_signal_handlers_unblock_matched (priv->end_timezone, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, epage);
+
gtk_signal_handler_unblock_by_data (GTK_OBJECT (priv->start_timezone),
epage);
@@ -2521,7 +2524,8 @@ start_timezone_changed_cb (GtkWidget *widget, gpointer data)
if (priv->sync_timezones) {
zone = e_timezone_entry_get_timezone (E_TIMEZONE_ENTRY (priv->start_timezone));
priv->updating = TRUE;
- e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (priv->end_timezone), zone);
+ /*the earlier method caused an infinite recursion*/
+ priv->end_timezone=priv->start_timezone;
gtk_widget_show_all (priv->end_timezone);
priv->updating = FALSE;
}
@@ -2988,6 +2992,9 @@ init_widgets (EventPage *epage)
/* emit signal when the group is changed */
g_signal_connect((priv->source_selector),"changed",G_CALLBACK(field_changed_cb),epage);
+ /*call the field_changed_cb when the timezone is changed*/
+ g_signal_connect((priv->start_timezone), "changed",G_CALLBACK (field_changed_cb), epage);
+
/* Set the default timezone, so the timezone entry may be hidden. */
zone = calendar_config_get_icaltimezone ();
e_timezone_entry_set_default_timezone (E_TIMEZONE_ENTRY (priv->start_timezone), zone);