From e4e1b710ddcc8b2189ff08ad8e4d91ec4b44fe9a Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 5 May 2004 12:40:55 +0000 Subject: Fixes #58025 2004-05-05 JP Rosevear Fixes #58025 * gui/gnome-cal.c (set_search_query): kill warning (setup_config): don't set time out here (setup_widgets): set it here (gnome_calendar_destroy): clear the time out * gui/e-tasks.c (search_bar_sexp_changed_cb): kill warning (setup_config): don't set time out here (setup_widgets): set it here and remember the time out id (e_tasks_destroy): clear the time out svn path=/trunk/; revision=25803 --- calendar/gui/e-tasks.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'calendar/gui/e-tasks.c') diff --git a/calendar/gui/e-tasks.c b/calendar/gui/e-tasks.c index 872b6fe3ed..8669bb5c2c 100644 --- a/calendar/gui/e-tasks.c +++ b/calendar/gui/e-tasks.c @@ -75,7 +75,8 @@ struct _ETasksPrivate { gchar *current_uid; char *sexp; - + guint update_timeout; + /* View instance and the view menus handler */ GalViewInstance *view_instance; GalViewMenus *view_menus; @@ -169,9 +170,6 @@ search_bar_sexp_changed_cb (CalSearchBar *cal_search, const char *sexp, gpointer { ETasks *tasks; ETasksPrivate *priv; - ECalModel *model; - char *new_sexp = NULL; - char *real_sexp = NULL; tasks = E_TASKS (data); priv = tasks->priv; @@ -304,7 +302,6 @@ setup_config (ETasks *tasks) { ETasksPrivate *priv; guint not; - guint timeout_id = 0; priv = tasks->priv; @@ -324,10 +321,7 @@ setup_config (ETasks *tasks) not = calendar_config_add_notification_hide_completed_tasks_value (config_hide_completed_tasks_changed_cb, tasks); - priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); - - /* Timeout check to hide completed items */ - timeout_id = g_timeout_add_full (G_PRIORITY_LOW, 60000, (GSourceFunc) update_view_cb, tasks, NULL); + priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); } #define E_TASKS_TABLE_DEFAULT_STATE \ @@ -382,6 +376,9 @@ setup_widgets (ETasks *tasks) g_signal_connect (etable, "cursor_change", G_CALLBACK (table_cursor_change_cb), tasks); g_signal_connect (etable, "selection_change", G_CALLBACK (table_selection_change_cb), tasks); + /* Timeout check to hide completed items */ + priv->update_timeout = g_timeout_add_full (G_PRIORITY_LOW, 60000, (GSourceFunc) update_view_cb, tasks, NULL); + /* create the task detail */ priv->preview = e_cal_component_preview_new (); e_cal_component_preview_set_default_timezone (E_CAL_COMPONENT_PREVIEW (priv->preview), calendar_config_get_icaltimezone ()); @@ -532,6 +529,11 @@ e_tasks_destroy (GtkObject *object) g_free (priv->sexp); priv->sexp = NULL; } + + if (priv->update_timeout) { + g_source_remove (priv->update_timeout); + priv->update_timeout = 0; + } if (priv->tasks_view_config) { g_object_unref (priv->tasks_view_config); -- cgit v1.2.3