aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-04-13 02:54:15 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-04-13 06:35:11 +0800
commit1df4952769b3211b90aecb3a359d8ae484fd1363 (patch)
treef8b5c085d0da5f2127bf1794250e2144cfc1e31f
parent1141e231478410ecd83c78507612e57f58f2ccf1 (diff)
downloadgsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar
gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.gz
gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.bz2
gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.lz
gsoc2013-evolution-1df4952769b3211b90aecb3a359d8ae484fd1363.tar.xz
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.
-rw-r--r--calendar/gui/e-cal-model.c36
-rw-r--r--calendar/gui/e-cal-model.h3
-rw-r--r--modules/calendar/e-cal-shell-view-actions.c23
-rw-r--r--modules/calendar/e-memo-shell-view-actions.c23
-rw-r--r--modules/calendar/e-task-shell-view-actions.c23
5 files changed, 30 insertions, 78 deletions
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index d990bdbaf0..62c9188077 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -2653,42 +2653,6 @@ e_cal_model_list_clients (ECalModel *model)
return g_queue_peek_head_link (&results);
}
-/**
- * e_cal_model_get_client_for_source:
- * @model: an #ECalModel
- * @source: an #ESource
- */
-ECalClient *
-e_cal_model_get_client_for_source (ECalModel *model,
- ESource *source)
-{
- ECalClient *match = NULL;
- GList *list, *link;
-
- g_return_val_if_fail (E_IS_CAL_MODEL (model), NULL);
- g_return_val_if_fail (E_IS_SOURCE (source), NULL);
-
- list = cal_model_clients_list (model);
-
- for (link = list; link != NULL; link = g_list_next (link)) {
- ClientData *client_data = link->data;
- ESource *client_source;
- EClient *client;
-
- client = E_CLIENT (client_data->client);
- client_source = e_client_get_source (client);
-
- if (e_source_equal (source, client_source)) {
- match = client_data->client;
- break;
- }
- }
-
- g_list_free_full (list, (GDestroyNotify) client_data_unref);
-
- return match;
-}
-
static ECalModelComponent *
search_by_id_and_client (ECalModelPrivate *priv,
ECalClient *client,
diff --git a/calendar/gui/e-cal-model.h b/calendar/gui/e-cal-model.h
index 3827f25b18..f42ddd2937 100644
--- a/calendar/gui/e-cal-model.h
+++ b/calendar/gui/e-cal-model.h
@@ -254,9 +254,6 @@ ECalClient * e_cal_model_get_default_client (ECalModel *model);
void e_cal_model_set_default_client (ECalModel *model,
ECalClient *client);
GList * e_cal_model_list_clients (ECalModel *model);
-ECalClient * e_cal_model_get_client_for_source
- (ECalModel *model,
- ESource *source);
void e_cal_model_add_client (ECalModel *model,
ECalClient *cal_client);
void e_cal_model_remove_client (ECalModel *model,
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
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index 0e0d28e885..5e30e24fcf 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -294,32 +294,29 @@ static void
action_memo_list_refresh_cb (GtkAction *action,
EMemoShellView *memo_shell_view)
{
- EMemoShellContent *memo_shell_content;
EMemoShellSidebar *memo_shell_sidebar;
ESourceSelector *selector;
- ECalClient *client;
- ECalModel *model;
+ EClient *client = NULL;
ESource *source;
GError *error = NULL;
- memo_shell_content = memo_shell_view->priv->memo_shell_content;
memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
-
- model = e_memo_shell_content_get_memo_model (memo_shell_content);
selector = e_memo_shell_sidebar_get_selector (memo_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 (
@@ -329,7 +326,7 @@ action_memo_list_refresh_cb (GtkAction *action,
g_error_free (error);
}
- g_object_unref (source);
+ g_object_unref (client);
}
static void
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index 6709a6e7d7..0c3ab2e040 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -317,32 +317,29 @@ static void
action_task_list_refresh_cb (GtkAction *action,
ETaskShellView *task_shell_view)
{
- ETaskShellContent *task_shell_content;
ETaskShellSidebar *task_shell_sidebar;
ESourceSelector *selector;
- ECalClient *client;
- ECalModel *model;
+ EClient *client = NULL;
ESource *source;
GError *error = NULL;
- task_shell_content = task_shell_view->priv->task_shell_content;
task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
-
- model = e_task_shell_content_get_task_model (task_shell_content);
selector = e_task_shell_sidebar_get_selector (task_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 (
@@ -352,7 +349,7 @@ action_task_list_refresh_cb (GtkAction *action,
g_error_free (error);
}
- g_object_unref (source);
+ g_object_unref (client);
}
static void