diff options
author | Milan Crha <mcrha@redhat.com> | 2013-05-14 18:00:17 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2013-05-14 18:00:17 +0800 |
commit | 16bf152272b67115380340c617e397d8e869334c (patch) | |
tree | 6dd43bf4dbc19bb00c955ce5f9a1462848076a4d | |
parent | f0151c785648b44850b46fa50336126c282fcc58 (diff) | |
download | gsoc2013-evolution-16bf152272b67115380340c617e397d8e869334c.tar.gz gsoc2013-evolution-16bf152272b67115380340c617e397d8e869334c.tar.zst gsoc2013-evolution-16bf152272b67115380340c617e397d8e869334c.zip |
Bug #699980 - Calendar delete does not remove events from view
-rw-r--r-- | e-util/e-source-selector.c | 5 | ||||
-rw-r--r-- | modules/calendar/e-cal-shell-sidebar.c | 4 | ||||
-rw-r--r-- | modules/calendar/e-memo-shell-sidebar.c | 4 | ||||
-rw-r--r-- | modules/calendar/e-task-shell-sidebar.c | 4 |
4 files changed, 17 insertions, 0 deletions
diff --git a/e-util/e-source-selector.c b/e-util/e-source-selector.c index f9d001a4f0..07a375448e 100644 --- a/e-util/e-source-selector.c +++ b/e-util/e-source-selector.c @@ -1638,6 +1638,11 @@ e_source_selector_unselect_source (ESourceSelector *selector, /* Make sure the ESource is in our tree model. */ source_index = selector->priv->source_index; reference = g_hash_table_lookup (source_index, source); + + /* can be NULL when the source was just removed */ + if (!reference) + return; + g_return_if_fail (gtk_tree_row_reference_valid (reference)); class = E_SOURCE_SELECTOR_GET_CLASS (selector); diff --git a/modules/calendar/e-cal-shell-sidebar.c b/modules/calendar/e-cal-shell-sidebar.c index 632a3eb43c..053ee968b7 100644 --- a/modules/calendar/e-cal-shell-sidebar.c +++ b/modules/calendar/e-cal-shell-sidebar.c @@ -424,6 +424,10 @@ cal_shell_sidebar_restore_state_cb (EShellWindow *shell_window, model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector)); g_signal_connect_swapped ( + registry, "source-removed", + G_CALLBACK (e_cal_shell_sidebar_remove_source), shell_sidebar); + + g_signal_connect_swapped ( model, "row-changed", G_CALLBACK (cal_shell_sidebar_row_changed_cb), shell_sidebar); diff --git a/modules/calendar/e-memo-shell-sidebar.c b/modules/calendar/e-memo-shell-sidebar.c index 85a105c600..47abef724e 100644 --- a/modules/calendar/e-memo-shell-sidebar.c +++ b/modules/calendar/e-memo-shell-sidebar.c @@ -422,6 +422,10 @@ memo_shell_sidebar_restore_state_cb (EShellWindow *shell_window, model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector)); g_signal_connect_swapped ( + registry, "source-removed", + G_CALLBACK (e_memo_shell_sidebar_remove_source), shell_sidebar); + + g_signal_connect_swapped ( model, "row-changed", G_CALLBACK (memo_shell_sidebar_row_changed_cb), shell_sidebar); diff --git a/modules/calendar/e-task-shell-sidebar.c b/modules/calendar/e-task-shell-sidebar.c index 800943627c..288e92dc19 100644 --- a/modules/calendar/e-task-shell-sidebar.c +++ b/modules/calendar/e-task-shell-sidebar.c @@ -422,6 +422,10 @@ task_shell_sidebar_restore_state_cb (EShellWindow *shell_window, model = gtk_tree_view_get_model (GTK_TREE_VIEW (selector)); g_signal_connect_swapped ( + registry, "source-removed", + G_CALLBACK (e_task_shell_sidebar_remove_source), shell_sidebar); + + g_signal_connect_swapped ( model, "row-changed", G_CALLBACK (task_shell_sidebar_row_changed_cb), shell_sidebar); |