diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-04-13 02:54:15 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-04-13 06:35:11 +0800 |
commit | 1df4952769b3211b90aecb3a359d8ae484fd1363 (patch) | |
tree | f8b5c085d0da5f2127bf1794250e2144cfc1e31f /modules/calendar/e-cal-shell-view-actions.c | |
parent | 1141e231478410ecd83c78507612e57f58f2ccf1 (diff) | |
download | gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.gz gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.zst gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.zip |
Remove e_cal_model_get_client_for_source().
Was not thread-safe because it did not reference the return value.
The function was only used to implement the Refresh action on the
sidebar menu. e_client_selector_ref_cached_client() works better
for this anyway.
Diffstat (limited to 'modules/calendar/e-cal-shell-view-actions.c')
-rw-r--r-- | modules/calendar/e-cal-shell-view-actions.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c index f9fdf1caf1..9a54b0603f 100644 --- a/modules/calendar/e-cal-shell-view-actions.c +++ b/modules/calendar/e-cal-shell-view-actions.c @@ -371,32 +371,29 @@ static void action_calendar_refresh_cb (GtkAction *action, ECalShellView *cal_shell_view) { - ECalShellContent *cal_shell_content; ECalShellSidebar *cal_shell_sidebar; ESourceSelector *selector; - ECalClient *client; - ECalModel *model; + EClient *client = NULL; ESource *source; GError *error = NULL; - cal_shell_content = cal_shell_view->priv->cal_shell_content; cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar; - - model = e_cal_shell_content_get_model (cal_shell_content); selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar); source = e_source_selector_ref_primary_selection (selector); - g_return_if_fail (source != NULL); - client = e_cal_model_get_client_for_source (model, source); - if (client == NULL) { + if (source != NULL) { + client = e_client_selector_ref_cached_client ( + E_CLIENT_SELECTOR (selector), source); g_object_unref (source); - return; } - g_return_if_fail (e_client_check_refresh_supported (E_CLIENT (client))); + if (client == NULL) + return; - e_client_refresh_sync (E_CLIENT (client), NULL, &error); + g_return_if_fail (e_client_check_refresh_supported (client)); + + e_client_refresh_sync (client, NULL, &error); if (error != NULL) { g_warning ( @@ -406,7 +403,7 @@ action_calendar_refresh_cb (GtkAction *action, g_error_free (error); } - g_object_unref (source); + g_object_unref (client); } static void |