aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-04-22 02:52:23 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-04-22 05:07:15 +0800
commit7950d6a0c6efd6c4d48afd99c138f38952bdd1bb (patch)
tree3a8fd7957dd29441120d2db18ccb1cc23f5935f2
parent397b15ff4aa5afd1d5c7e0a093a33616624401cf (diff)
downloadgsoc2013-evolution-7950d6a0c6efd6c4d48afd99c138f38952bdd1bb.tar.gz
gsoc2013-evolution-7950d6a0c6efd6c4d48afd99c138f38952bdd1bb.tar.zst
gsoc2013-evolution-7950d6a0c6efd6c4d48afd99c138f38952bdd1bb.zip
Adapt to libedataserver[ui] changes.
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c12
-rw-r--r--addressbook/gui/contact-editor/e-contact-quick-add.c19
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c30
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c2
-rw-r--r--addressbook/gui/widgets/ea-minicard-view.c2
-rw-r--r--addressbook/gui/widgets/eab-gui-util.c27
-rw-r--r--addressbook/importers/evolution-csv-importer.c11
-rw-r--r--addressbook/importers/evolution-ldif-importer.c11
-rw-r--r--addressbook/importers/evolution-vcard-importer.c11
-rw-r--r--addressbook/tools/evolution-addressbook-export-list-folders.c4
-rw-r--r--calendar/alarm-notify/alarm-queue.c2
-rw-r--r--calendar/gui/dialogs/calendar-setup.c8
-rw-r--r--calendar/gui/dialogs/comp-editor.c8
-rw-r--r--calendar/gui/dialogs/e-send-options-utils.c2
-rw-r--r--calendar/gui/dialogs/event-page.c24
-rw-r--r--calendar/gui/dialogs/memo-page.c15
-rw-r--r--calendar/gui/dialogs/task-page.c13
-rw-r--r--calendar/gui/e-cal-component-preview.c2
-rw-r--r--calendar/gui/e-cal-model.c4
-rw-r--r--calendar/gui/e-calendar-view.c2
-rw-r--r--calendar/gui/e-day-view.c2
-rw-r--r--calendar/gui/e-task-table.c4
-rw-r--r--calendar/importers/icalendar-importer.c54
-rw-r--r--capplet/settings/mail-account-view.c4
-rw-r--r--e-util/e-util.c2
-rw-r--r--libemail-engine/e-mail-utils.c4
-rw-r--r--mail/em-account-editor.c4
-rw-r--r--modules/addressbook/addressbook-config.c12
-rw-r--r--modules/addressbook/e-book-shell-sidebar.c9
-rw-r--r--modules/addressbook/e-book-shell-view-actions.c17
-rw-r--r--modules/addressbook/e-book-shell-view-private.c9
-rw-r--r--modules/calendar/e-cal-attachment-handler.c14
-rw-r--r--modules/calendar/e-cal-shell-backend.c6
-rw-r--r--modules/calendar/e-cal-shell-migrate.c4
-rw-r--r--modules/calendar/e-cal-shell-sidebar.c40
-rw-r--r--modules/calendar/e-cal-shell-view-actions.c41
-rw-r--r--modules/calendar/e-memo-shell-backend.c4
-rw-r--r--modules/calendar/e-memo-shell-content.c2
-rw-r--r--modules/calendar/e-memo-shell-migrate.c4
-rw-r--r--modules/calendar/e-memo-shell-sidebar.c40
-rw-r--r--modules/calendar/e-memo-shell-view-actions.c41
-rw-r--r--modules/calendar/e-task-shell-backend.c4
-rw-r--r--modules/calendar/e-task-shell-content.c2
-rw-r--r--modules/calendar/e-task-shell-migrate.c4
-rw-r--r--modules/calendar/e-task-shell-sidebar.c40
-rw-r--r--modules/calendar/e-task-shell-view-actions.c41
-rw-r--r--modules/online-accounts/evolution-online-accounts.c2
-rw-r--r--plugins/addressbook-file/addressbook-file.c2
-rw-r--r--plugins/bbdb/bbdb.c68
-rw-r--r--plugins/calendar-file/calendar-file.c2
-rw-r--r--plugins/default-source/default-source.c2
-rw-r--r--plugins/itip-formatter/itip-formatter.c28
-rw-r--r--plugins/itip-formatter/itip-view.c12
-rw-r--r--plugins/pst-import/pst-importer.c4
-rw-r--r--plugins/publish-calendar/url-editor-dialog.c2
-rw-r--r--plugins/save-calendar/csv-format.c4
-rw-r--r--plugins/save-calendar/ical-format.c4
-rw-r--r--plugins/save-calendar/rdf-format.c9
-rw-r--r--shell/e-shell-migrate.c6
59 files changed, 487 insertions, 275 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index 7676d62f5e..7ad3bcdb3e 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -27,6 +27,7 @@
#include "eab-editor.h"
#include "e-contact-editor.h"
+#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <gtk/gtk.h>
@@ -3094,7 +3095,9 @@ source_changed (ESourceComboBox *source_combo_box,
ESource *source;
GtkWindow *parent;
- source = e_source_combo_box_get_active (source_combo_box);
+ source = e_source_combo_box_ref_active (source_combo_box);
+ g_return_if_fail (source != NULL);
+
parent = eab_editor_get_window (EAB_EDITOR (editor));
if (editor->cancellable != NULL) {
@@ -3107,13 +3110,13 @@ source_changed (ESourceComboBox *source_combo_box,
source_source = e_client_get_source (E_CLIENT (editor->source_client));
if (e_source_equal (target_source, source))
- return;
+ goto exit;
if (e_source_equal (source_source, source)) {
g_object_set (
editor, "target_client",
editor->source_client, NULL);
- return;
+ goto exit;
}
editor->cancellable = g_cancellable_new ();
@@ -3123,6 +3126,9 @@ source_changed (ESourceComboBox *source_combo_box,
FALSE, editor->cancellable,
e_client_utils_authenticate_handler, parent,
contact_editor_book_loaded_cb, g_object_ref (editor));
+
+exit:
+ g_object_unref (source);
}
static void
diff --git a/addressbook/gui/contact-editor/e-contact-quick-add.c b/addressbook/gui/contact-editor/e-contact-quick-add.c
index 7c303e7725..69b35b6cdb 100644
--- a/addressbook/gui/contact-editor/e-contact-quick-add.c
+++ b/addressbook/gui/contact-editor/e-contact-quick-add.c
@@ -156,12 +156,13 @@ merge_cb (GObject *source_object,
if (!e_client_is_readonly (client))
eab_merging_book_add_contact (
- E_BOOK_CLIENT (client), qa->contact, NULL, NULL);
+ E_BOOK_CLIENT (client),
+ qa->contact, NULL, NULL);
else
e_alert_run_dialog_for_args (
e_shell_get_active_window (NULL),
"addressbook:error-read-only",
- e_source_peek_name (source),
+ e_source_get_display_name (source),
NULL);
if (qa->cb)
@@ -312,7 +313,8 @@ ce_have_book (GObject *source_object,
g_return_if_fail (E_IS_CLIENT (client));
eab_merging_book_find_contact (
- E_BOOK_CLIENT (client), qa->contact, ce_have_contact, qa);
+ E_BOOK_CLIENT (client),
+ qa->contact, ce_have_contact, qa);
}
static void
@@ -389,13 +391,16 @@ clicked_cb (GtkWidget *w,
static void
sanitize_widgets (QuickAdd *qa)
{
+ GtkComboBox *combo_box;
+ const gchar *active_id;
gboolean enabled = TRUE;
g_return_if_fail (qa != NULL);
g_return_if_fail (qa->dialog != NULL);
- enabled = (e_source_combo_box_get_active_uid (
- E_SOURCE_COMBO_BOX (qa->combo_box)) != NULL);
+ combo_box = GTK_COMBO_BOX (qa->combo_box);
+ active_id = gtk_combo_box_get_active_id (combo_box);
+ enabled = (active_id != NULL);
gtk_dialog_set_response_sensitive (
GTK_DIALOG (qa->dialog),
@@ -410,12 +415,12 @@ source_changed (ESourceComboBox *source_combo_box,
{
ESource *source;
- source = e_source_combo_box_get_active (source_combo_box);
+ source = e_source_combo_box_ref_active (source_combo_box);
if (source != NULL) {
if (qa->source != NULL)
g_object_unref (qa->source);
- qa->source = g_object_ref (source);
+ qa->source = source; /* takes reference */
}
sanitize_widgets (qa);
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 3db6c4cca7..385ce096eb 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -935,21 +935,31 @@ contact_list_editor_source_menu_changed_cb (GtkWidget *widget);
void
contact_list_editor_source_menu_changed_cb (GtkWidget *widget)
{
+ ESourceComboBox *combo_box;
EContactListEditor *editor;
- ESource *source;
+ ESource *active_source;
+ ESource *client_source;
+ EClient *client;
editor = contact_list_editor_extract (widget);
- source = e_source_combo_box_get_active (E_SOURCE_COMBO_BOX (widget));
- if (e_source_equal (e_client_get_source (E_CLIENT (editor->priv->book_client)), source))
- return;
+ combo_box = E_SOURCE_COMBO_BOX (widget);
+ active_source = e_source_combo_box_ref_active (combo_box);
+ g_return_if_fail (active_source != NULL);
+
+ client = E_CLIENT (editor->priv->book_client);
+ client_source = e_client_get_source (client);
+
+ if (!e_source_equal (client_source, active_source))
+ e_client_utils_open_new (
+ client_source, E_CLIENT_SOURCE_TYPE_CONTACTS,
+ FALSE, NULL,
+ e_client_utils_authenticate_handler,
+ eab_editor_get_window (EAB_EDITOR (editor)),
+ contact_list_editor_book_loaded_cb,
+ g_object_ref (editor));
- e_client_utils_open_new (
- source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
- e_client_utils_authenticate_handler,
- eab_editor_get_window (EAB_EDITOR (editor)),
- contact_list_editor_book_loaded_cb,
- g_object_ref (editor));
+ g_object_unref (active_source);
}
gboolean
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c
index 50f50c9203..5dce1e2a74 100644
--- a/addressbook/gui/widgets/e-addressbook-view.c
+++ b/addressbook/gui/widgets/e-addressbook-view.c
@@ -1099,7 +1099,7 @@ folder_bar_message (EAddressbookView *view,
if (view->priv->source == NULL)
return;
- display_name = e_source_peek_name (view->priv->source);
+ display_name = e_source_get_display_name (view->priv->source);
e_shell_sidebar_set_primary_text (shell_sidebar, display_name);
e_shell_sidebar_set_secondary_text (shell_sidebar, message);
}
diff --git a/addressbook/gui/widgets/ea-minicard-view.c b/addressbook/gui/widgets/ea-minicard-view.c
index 6772a0bf80..65b20feb1a 100644
--- a/addressbook/gui/widgets/ea-minicard-view.c
+++ b/addressbook/gui/widgets/ea-minicard-view.c
@@ -165,7 +165,7 @@ ea_minicard_view_get_name (AtkObject *accessible)
g_object_get (card_view->adapter, "client", &book_client, NULL);
g_return_val_if_fail (E_IS_BOOK_CLIENT (book_client), NULL);
source = e_client_get_source (E_CLIENT (book_client));
- display_name = e_source_peek_name (source);
+ display_name = e_source_get_display_name (source);
if (display_name == NULL)
display_name = "";
diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c
index 535e1bd3f0..3d9d819d06 100644
--- a/addressbook/gui/widgets/eab-gui-util.c
+++ b/addressbook/gui/widgets/eab-gui-util.c
@@ -134,7 +134,7 @@ eab_load_error_dialog (GtkWidget *parent,
source_dir = e_source_peek_relative_uri (source);
if (!source_dir || !g_str_equal (source_dir, "system"))
- source_dir = e_source_peek_uid (source);
+ source_dir = e_source_get_uid (source);
/* Mangle the URI to not contain invalid characters. */
mangled_source_dir = g_strdelimit (g_strdup (source_dir), ":/", '_');
@@ -285,11 +285,16 @@ source_selection_changed_cb (ESourceSelector *selector,
GtkWidget *ok_button)
{
ESource *except_source = NULL, *selected;
+ gboolean sensitive;
except_source = g_object_get_data (G_OBJECT (ok_button), "except-source");
- selected = e_source_selector_get_primary_selection (selector);
+ selected = e_source_selector_ref_primary_selection (selector);
- gtk_widget_set_sensitive (ok_button, selected && selected != except_source);
+ sensitive = (selected != NULL && selected != except_source);
+ gtk_widget_set_sensitive (ok_button, sensitive);
+
+ if (selected != NULL)
+ g_object_unref (selected);
}
ESource *
@@ -335,7 +340,7 @@ eab_select_source (ESource *except_source,
g_object_set_data (
G_OBJECT (ok_button), "except-source",
e_source_list_peek_source_by_uid (
- source_list, e_source_peek_uid (except_source)));
+ source_list, e_source_get_uid (except_source)));
g_signal_connect (
selector, "primary_selection_changed",
@@ -343,7 +348,7 @@ eab_select_source (ESource *except_source,
if (select_uid) {
source = e_source_list_peek_source_by_uid (source_list, select_uid);
- if (source)
+ if (source != NULL)
e_source_selector_set_primary_selection (
E_SOURCE_SELECTOR (selector), source);
}
@@ -359,11 +364,17 @@ eab_select_source (ESource *except_source,
response = gtk_dialog_run (GTK_DIALOG (dialog));
if (response == GTK_RESPONSE_ACCEPT)
- source = e_source_selector_get_primary_selection (E_SOURCE_SELECTOR (selector));
+ source = e_source_selector_ref_primary_selection (
+ E_SOURCE_SELECTOR (selector));
else
source = NULL;
gtk_widget_destroy (dialog);
+
+ /* XXX Return a borrowed reference for backward-compatibility. */
+ if (source != NULL)
+ g_object_unref (source);
+
return source;
}
@@ -590,9 +601,9 @@ eab_transfer_contacts (EBookClient *source_client,
if (!destination)
return;
- if (strcmp (last_uid, e_source_peek_uid (destination)) != 0) {
+ if (strcmp (last_uid, e_source_get_uid (destination)) != 0) {
g_free (last_uid);
- last_uid = g_strdup (e_source_peek_uid (destination));
+ last_uid = g_strdup (e_source_get_uid (destination));
}
process = g_new (ContactCopyProcess, 1);
diff --git a/addressbook/importers/evolution-csv-importer.c b/addressbook/importers/evolution-csv-importer.c
index 66cc0a7051..92290e8d1c 100644
--- a/addressbook/importers/evolution-csv-importer.c
+++ b/addressbook/importers/evolution-csv-importer.c
@@ -755,10 +755,14 @@ static void
primary_selection_changed_cb (ESourceSelector *selector,
EImportTarget *target)
{
+ ESource *source;
+
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
+
g_datalist_set_data_full (
&target->data, "csv-source",
- g_object_ref (e_source_selector_get_primary_selection (selector)),
- g_object_unref);
+ source, (GDestroyNotify) g_object_unref);
}
static GtkWidget *
@@ -921,7 +925,8 @@ csv_import (EImport *ei,
source = g_datalist_get_data (&target->data, "csv-source");
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}
diff --git a/addressbook/importers/evolution-ldif-importer.c b/addressbook/importers/evolution-ldif-importer.c
index 989bb805f4..1ba350a70f 100644
--- a/addressbook/importers/evolution-ldif-importer.c
+++ b/addressbook/importers/evolution-ldif-importer.c
@@ -553,10 +553,14 @@ static void
primary_selection_changed_cb (ESourceSelector *selector,
EImportTarget *target)
{
+ ESource *source;
+
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
+
g_datalist_set_data_full (
&target->data, "ldif-source",
- g_object_ref (e_source_selector_get_primary_selection (selector)),
- g_object_unref);
+ source, (GDestroyNotify) g_object_unref);
}
static GtkWidget *
@@ -711,7 +715,8 @@ ldif_import (EImport *ei,
source = g_datalist_get_data (&target->data, "ldif-source");
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}
diff --git a/addressbook/importers/evolution-vcard-importer.c b/addressbook/importers/evolution-vcard-importer.c
index b35553943e..1dbbed0a39 100644
--- a/addressbook/importers/evolution-vcard-importer.c
+++ b/addressbook/importers/evolution-vcard-importer.c
@@ -391,10 +391,14 @@ static void
primary_selection_changed_cb (ESourceSelector *selector,
EImportTarget *target)
{
+ ESource *source;
+
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
+
g_datalist_set_data_full (
&target->data, "vcard-source",
- g_object_ref (e_source_selector_get_primary_selection (selector)),
- g_object_unref);
+ source, (GDestroyNotify) g_object_unref);
}
static GtkWidget *
@@ -569,7 +573,8 @@ vcard_import (EImport *ei,
source = g_datalist_get_data (&target->data, "vcard-source");
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
book_loaded_cb, gci);
}
diff --git a/addressbook/tools/evolution-addressbook-export-list-folders.c b/addressbook/tools/evolution-addressbook-export-list-folders.c
index 2628c9c499..14e7e201ba 100644
--- a/addressbook/tools/evolution-addressbook-export-list-folders.c
+++ b/addressbook/tools/evolution-addressbook-export-list-folders.c
@@ -76,7 +76,7 @@ action_list_folders_init (ActionContext *p_actctx)
book_client = e_book_client_new (s, &error);
if (!book_client
|| !e_client_open_sync (E_CLIENT (book_client), TRUE, NULL, &error)) {
- g_warning (_("Failed to open client '%s': %s"), e_source_peek_name (s), error ? error->message : _("Unknown error"));
+ g_warning (_("Failed to open client '%s': %s"), e_source_get_display_name (s), error ? error->message : _("Unknown error"));
if (error)
g_error_free (error);
continue;
@@ -86,7 +86,7 @@ action_list_folders_init (ActionContext *p_actctx)
contacts = NULL;
uri = e_source_get_uri (s);
- name = e_source_peek_name (s);
+ name = e_source_get_display_name (s);
if (outputfile)
fprintf (
diff --git a/calendar/alarm-notify/alarm-queue.c b/calendar/alarm-notify/alarm-queue.c
index 8cd052952a..7d3a082d5a 100644
--- a/calendar/alarm-notify/alarm-queue.c
+++ b/calendar/alarm-notify/alarm-queue.c
@@ -1022,7 +1022,7 @@ edit_component (ECalClient *cal_client,
* How are other apps expected to know this stuff? */
source = e_client_get_source (E_CLIENT (cal_client));
- source_uid = e_source_peek_uid (source);
+ source_uid = e_source_get_uid (source);
e_cal_component_get_uid (comp, &comp_uid);
diff --git a/calendar/gui/dialogs/calendar-setup.c b/calendar/gui/dialogs/calendar-setup.c
index bf77f8c70d..0d0da2244a 100644
--- a/calendar/gui/dialogs/calendar-setup.c
+++ b/calendar/gui/dialogs/calendar-setup.c
@@ -68,7 +68,7 @@ eccp_check_complete (EConfig *ec,
const gchar *tmp;
ESource *source;
- tmp = e_source_peek_name (sdialog->source);
+ tmp = e_source_get_display_name (sdialog->source);
valid = tmp && tmp[0] && ((source = e_source_group_peek_source_by_name (sdialog->source_group, tmp)) == NULL || source == sdialog->original_source);
return valid;
@@ -233,7 +233,7 @@ name_changed (GtkEntry *entry,
name = gtk_entry_get_text (GTK_ENTRY (entry));
- changed = g_strcmp0 (name, e_source_peek_name (source)) != 0;
+ changed = g_strcmp0 (name, e_source_get_display_name (source)) != 0;
e_source_set_name (source, name);
group = e_source_peek_group (source);
@@ -275,7 +275,7 @@ eccp_get_source_name (EConfig *ec,
G_CALLBACK (name_changed), (gpointer) t);
if (source)
- gtk_entry_set_text (GTK_ENTRY (entry), e_source_peek_name (source));
+ gtk_entry_set_text (GTK_ENTRY (entry), e_source_get_display_name (source));
return entry;
}
@@ -440,7 +440,7 @@ eccp_get_source_color (EConfig *ec,
if (!gdk_color_parse (color_spec, &color))
g_warning ("Unknown color \"%s\" in calendar \"%s\"",
- color_spec, e_source_peek_name (sdialog->source));
+ color_spec, e_source_get_display_name (sdialog->source));
label = gtk_label_new_with_mnemonic (_("Colo_r:"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 641666b230..033d80a4a7 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -957,7 +957,7 @@ action_save_cb (GtkAction *action,
e_alert_submit (
E_ALERT_SINK (editor),
"calendar:prompt-read-only-cal-editor",
- e_source_peek_name (
+ e_source_get_display_name (
e_client_get_source (E_CLIENT (priv->cal_client))),
NULL);
return;
@@ -969,7 +969,7 @@ action_save_cb (GtkAction *action,
e_alert_submit (
E_ALERT_SINK (editor),
"calendar:prompt-no-task-assignment-editor",
- e_source_peek_name (
+ e_source_get_display_name (
e_client_get_source (E_CLIENT (priv->cal_client))),
NULL);
return;
@@ -2184,7 +2184,7 @@ prompt_and_save_changes (CompEditor *editor,
e_alert_submit (
E_ALERT_SINK (editor),
"calendar:prompt-read-only-cal-editor",
- e_source_peek_name (
+ e_source_get_display_name (
e_client_get_source (E_CLIENT (priv->cal_client))),
NULL);
/* don't discard changes when selected readonly calendar */
@@ -2197,7 +2197,7 @@ prompt_and_save_changes (CompEditor *editor,
e_alert_submit (
E_ALERT_SINK (editor),
"calendar:prompt-no-task-assignment-editor",
- e_source_peek_name (
+ e_source_get_display_name (
e_client_get_source (E_CLIENT (priv->cal_client))),
NULL);
return FALSE;
diff --git a/calendar/gui/dialogs/e-send-options-utils.c b/calendar/gui/dialogs/e-send-options-utils.c
index 780554812d..e42bbc73d4 100644
--- a/calendar/gui/dialogs/e-send-options-utils.c
+++ b/calendar/gui/dialogs/e-send-options-utils.c
@@ -51,7 +51,7 @@ e_send_options_utils_set_default_data (ESendOptionsDialog *sod,
else
source_list = e_source_list_new_for_gconf (gconf, "/apps/evolution/tasks/sources");
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
source = e_source_list_peek_source_by_uid (source_list, uid);
/* priority */
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 086f3ef494..a3c2b496ea 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -2889,10 +2889,12 @@ event_page_send_options_clicked_cb (EventPage *epage)
if (!priv->sod) {
priv->sod = e_send_options_dialog_new ();
- source = e_source_combo_box_get_active (
+ source = e_source_combo_box_ref_active (
E_SOURCE_COMBO_BOX (priv->source_selector));
- e_send_options_utils_set_default_data (priv->sod, source, "calendar");
+ e_send_options_utils_set_default_data (
+ priv->sod, source, "calendar");
priv->sod->data->initialized = TRUE;
+ g_object_unref (source);
}
if (e_client_check_capability (E_CLIENT (client), CAL_STATIC_CAPABILITY_NO_GEN_OPTIONS)) {
@@ -2939,7 +2941,7 @@ epage_client_opened_cb (GObject *source_object,
NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
_("Unable to open the calendar '%s': %s"),
- e_source_peek_name (source),
+ e_source_get_display_name (source),
error->message);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
@@ -2987,7 +2989,8 @@ source_changed_cb (ESourceComboBox *source_combo_box,
if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (epage)))
return;
- source = e_source_combo_box_get_active (source_combo_box);
+ source = e_source_combo_box_ref_active (source_combo_box);
+ g_return_if_fail (source != NULL);
if (priv->open_cancellable) {
g_cancellable_cancel (priv->open_cancellable);
@@ -2995,9 +2998,13 @@ source_changed_cb (ESourceComboBox *source_combo_box,
}
priv->open_cancellable = g_cancellable_new ();
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_EVENTS, FALSE, priv->open_cancellable,
- e_client_utils_authenticate_handler, NULL,
- epage_client_opened_cb, epage);
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_EVENTS,
+ FALSE, priv->open_cancellable,
+ e_client_utils_authenticate_handler, NULL,
+ epage_client_opened_cb, epage);
+
+ g_object_unref (source);
}
static void
@@ -3305,7 +3312,8 @@ init_widgets (EventPage *epage)
g_signal_connect (
priv->alarm_dialog, "delete-event",
G_CALLBACK (gtk_widget_hide), priv->alarm_dialog);
- priv->alarm_list_dlg_widget = alarm_list_dialog_peek (client, priv->alarm_list_store);
+ priv->alarm_list_dlg_widget = alarm_list_dialog_peek (
+ client, priv->alarm_list_store);
gtk_widget_reparent (priv->alarm_list_dlg_widget, priv->alarm_box);
gtk_widget_show_all (priv->alarm_list_dlg_widget);
gtk_widget_hide (priv->alarm_dialog);
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index 5348a19328..58d3d3b207 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -947,7 +947,7 @@ mpage_client_opened_cb (GObject *source_object,
dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
_("Unable to open memos in '%s': %s"),
- e_source_peek_name (source),
+ e_source_get_display_name (source),
error ? error->message : _("Unknown error"));
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
@@ -993,7 +993,8 @@ source_changed_cb (ESourceComboBox *source_combo_box,
if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (mpage)))
return;
- source = e_source_combo_box_get_active (source_combo_box);
+ source = e_source_combo_box_ref_active (source_combo_box);
+ g_return_if_fail (source != NULL);
if (priv->open_cancellable) {
g_cancellable_cancel (priv->open_cancellable);
@@ -1001,9 +1002,13 @@ source_changed_cb (ESourceComboBox *source_combo_box,
}
priv->open_cancellable = g_cancellable_new ();
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_MEMOS, FALSE, priv->open_cancellable,
- e_client_utils_authenticate_handler, NULL,
- mpage_client_opened_cb, mpage);
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_MEMOS,
+ FALSE, priv->open_cancellable,
+ e_client_utils_authenticate_handler, NULL,
+ mpage_client_opened_cb, mpage);
+
+ g_object_unref (source);
}
static void
diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c
index 71a494541a..9e051af37d 100644
--- a/calendar/gui/dialogs/task-page.c
+++ b/calendar/gui/dialogs/task-page.c
@@ -1775,7 +1775,7 @@ tpage_client_opened_cb (GObject *source_object,
NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
_("Unable to open tasks in '%s': %s"),
- e_source_peek_name (source),
+ e_source_get_display_name (source),
error->message);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
@@ -1824,7 +1824,8 @@ source_changed_cb (ESourceComboBox *source_combo_box,
if (comp_editor_page_get_updating (COMP_EDITOR_PAGE (tpage)))
return;
- source = e_source_combo_box_get_active (source_combo_box);
+ source = e_source_combo_box_ref_active (source_combo_box);
+ g_return_if_fail (source != NULL);
if (priv->open_cancellable) {
g_cancellable_cancel (priv->open_cancellable);
@@ -1837,6 +1838,8 @@ source_changed_cb (ESourceComboBox *source_combo_box,
FALSE, priv->open_cancellable,
e_client_utils_authenticate_handler, NULL,
tpage_client_opened_cb, tpage);
+
+ g_object_unref (source);
}
static void
@@ -1880,9 +1883,11 @@ task_page_send_options_clicked_cb (TaskPage *tpage)
if (!priv->sod) {
priv->sod = e_send_options_dialog_new ();
priv->sod->data->initialized = TRUE;
- source = e_source_combo_box_get_active (
+ source = e_source_combo_box_ref_active (
E_SOURCE_COMBO_BOX (priv->source_selector));
- e_send_options_utils_set_default_data (priv->sod, source, "task");
+ e_send_options_utils_set_default_data (
+ priv->sod, source, "task");
+ g_object_unref (source);
}
if (e_client_check_capability (E_CLIENT (client), CAL_STATIC_CAPABILITY_NO_GEN_OPTIONS)) {
diff --git a/calendar/gui/e-cal-component-preview.c b/calendar/gui/e-cal-component-preview.c
index c96a9e0790..4b727d4d53 100644
--- a/calendar/gui/e-cal-component-preview.c
+++ b/calendar/gui/e-cal-component-preview.c
@@ -109,7 +109,7 @@ update_comp_info (ECalComponentPreview *preview,
gint comp_sequence;
source = e_client_get_source (E_CLIENT (client));
- cal_uid = g_strdup (e_source_peek_uid (source));
+ cal_uid = g_strdup (e_source_get_uid (source));
e_cal_component_get_uid (comp, &uid);
comp_uid = g_strdup (uid);
e_cal_component_get_last_modified (comp, &itm);
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 20dee7f714..d56b7583fd 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -2942,7 +2942,7 @@ client_opened_cb (GObject *source_object,
g_warning (
"%s: Failed to open '%s': %s",
G_STRFUNC,
- e_source_peek_name (source),
+ e_source_get_display_name (source),
error->message);
g_error_free (error);
e_cal_model_update_status_message (model, NULL, -1.0);
@@ -3017,7 +3017,7 @@ add_new_client (ECalModel *model,
gchar *msg;
source = e_client_get_source (E_CLIENT (client));
- display_name = e_source_peek_name (source);
+ display_name = e_source_get_display_name (source);
msg = g_strdup_printf (_("Opening %s"), display_name);
e_cal_model_update_status_message (model, msg, -1.0);
g_free (msg);
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c
index 17d5a43965..24ea98a8f7 100644
--- a/calendar/gui/e-calendar-view.c
+++ b/calendar/gui/e-calendar-view.c
@@ -1517,7 +1517,7 @@ e_calendar_view_new_appointment_for (ECalendarView *cal_view,
widget = e_alert_dialog_new_for_args (
parent, "calendar:prompt-read-only-cal",
- e_source_peek_name (source),
+ e_source_get_display_name (source),
NULL);
g_signal_connect (
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 7b4fecfb0a..ad7fd78cd3 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -7909,7 +7909,7 @@ e_day_view_on_drag_data_get (GtkWidget *widget,
gchar *tmp;
source = e_client_get_source (E_CLIENT (event->comp_data->client));
- source_uid = e_source_peek_uid (source);
+ source_uid = e_source_get_uid (source);
tmp = g_strconcat (source_uid, "\n", comp_str, NULL);
target = gtk_selection_data_get_target (selection_data);
diff --git a/calendar/gui/e-task-table.c b/calendar/gui/e-task-table.c
index b314766aff..651ef83a89 100644
--- a/calendar/gui/e-task-table.c
+++ b/calendar/gui/e-task-table.c
@@ -1692,7 +1692,7 @@ hide_completed_rows_ready (GObject *source_object,
g_debug ("%s: Could not get the objects from '%s': %s",
G_STRFUNC,
- source ? e_source_peek_name (source) : "???",
+ source ? e_source_get_display_name (source) : "???",
error ? error->message : "Uknown error");
}
g_clear_error (&error);
@@ -1754,7 +1754,7 @@ show_completed_rows_ready (GObject *source_object,
g_debug ("%s: Could not get the objects from '%s': %s",
G_STRFUNC,
- source ? e_source_peek_name (source) : "???",
+ source ? e_source_get_display_name (source) : "???",
error ? error->message : "Uknown error");
}
g_clear_error (&error);
diff --git a/calendar/importers/icalendar-importer.c b/calendar/importers/icalendar-importer.c
index 9432bc3256..9723236d26 100644
--- a/calendar/importers/icalendar-importer.c
+++ b/calendar/importers/icalendar-importer.c
@@ -255,20 +255,37 @@ static void
button_toggled_cb (GtkWidget *widget,
struct _selector_data *sd)
{
- g_datalist_set_data_full(&sd->target->data, "primary-source",
- g_object_ref (e_source_selector_get_primary_selection ((ESourceSelector *) sd->selector)),
- g_object_unref);
- g_datalist_set_data(&sd->target->data, "primary-type", GINT_TO_POINTER(import_type_map[sd->page]));
- gtk_notebook_set_current_page ((GtkNotebook *) sd->notebook, sd->page);
+ ESourceSelector *selector;
+ ESource *source;
+ GtkNotebook *notebook;
+
+ selector = E_SOURCE_SELECTOR (sd->selector);
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
+
+ g_datalist_set_data_full (
+ &sd->target->data, "primary-source",
+ source, (GDestroyNotify) g_object_unref);
+ g_datalist_set_data (
+ &sd->target->data, "primary-type",
+ GINT_TO_POINTER (import_type_map[sd->page]));
+
+ notebook = GTK_NOTEBOOK (sd->notebook);
+ gtk_notebook_set_current_page (notebook, sd->page);
}
static void
primary_selection_changed_cb (ESourceSelector *selector,
EImportTarget *target)
{
- g_datalist_set_data_full(&target->data, "primary-source",
- g_object_ref (e_source_selector_get_primary_selection (selector)),
- g_object_unref);
+ ESource *source;
+
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
+
+ g_datalist_set_data_full (
+ &target->data, "primary-source",
+ source, (GDestroyNotify) g_object_unref);
}
static GtkWidget *
@@ -436,7 +453,9 @@ ivcal_import (EImport *ei,
ici->cancellable = g_cancellable_new ();
e_import_status (ei, target, _("Opening calendar"), 0);
- e_client_utils_open_new (g_datalist_get_data(&target->data, "primary-source"), type, FALSE, ici->cancellable,
+ e_client_utils_open_new (
+ g_datalist_get_data (&target->data, "primary-source"),
+ type, FALSE, ici->cancellable,
e_client_utils_authenticate_handler, NULL,
ivcal_opened, ici);
}
@@ -841,6 +860,7 @@ open_default_source (ICalIntelligentImporter *ici,
ESource *source;
ECalClient *cal_client;
GError *error = NULL;
+ EClientSourceType client_source_type;
struct OpenDefaultSourceData *odsd;
g_return_if_fail (ici != NULL);
@@ -863,6 +883,20 @@ open_default_source (ICalIntelligentImporter *ici,
source = g_object_ref (source);
g_object_unref (cal_client);
+ switch (source_type) {
+ case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
+ client_source_type = E_CLIENT_SOURCE_TYPE_EVENTS;
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
+ client_source_type = E_CLIENT_SOURCE_TYPE_TASKS;
+ break;
+ case E_CAL_CLIENT_SOURCE_TYPE_MEMOS:
+ client_source_type = E_CLIENT_SOURCE_TYPE_MEMOS;
+ break;
+ default:
+ g_return_if_reached ();
+ }
+
odsd = g_new0 (struct OpenDefaultSourceData, 1);
odsd->ici = ici;
odsd->opened_cb = opened_cb;
@@ -870,7 +904,7 @@ open_default_source (ICalIntelligentImporter *ici,
e_import_status (ici->ei, ici->target, _("Opening calendar"), 0);
e_client_utils_open_new (
- source, source_type == E_CAL_CLIENT_SOURCE_TYPE_EVENTS ? E_CLIENT_SOURCE_TYPE_EVENTS : E_CLIENT_SOURCE_TYPE_TASKS, FALSE, ici->cancellable,
+ source, client_source_type, FALSE, ici->cancellable,
e_client_utils_authenticate_handler, NULL,
default_source_opened_cb, odsd);
diff --git a/capplet/settings/mail-account-view.c b/capplet/settings/mail-account-view.c
index 7ee0a868f4..677db7e68e 100644
--- a/capplet/settings/mail-account-view.c
+++ b/capplet/settings/mail-account-view.c
@@ -309,7 +309,7 @@ setup_yahoo_account (MailAccountView *mav)
e_source_group_add_source (sgrp, calendar, -1);
e_source_list_sync (slist, NULL);
- add_selected_calendar (e_source_peek_uid (calendar));
+ add_selected_calendar (e_source_get_uid (calendar));
g_free (abs_uri);
g_free (rel_uri);
@@ -400,7 +400,7 @@ setup_google_accounts (MailAccountView *mav)
e_source_list_sync (slist, NULL);
- add_selected_calendar (e_source_peek_uid (calendar));
+ add_selected_calendar (e_source_get_uid (calendar));
g_free (abs_uri);
g_free (rel_uri);
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 109ee1ba15..715735110c 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -1456,7 +1456,7 @@ e_binding_transform_source_to_uid (GBinding *binding,
source = g_value_get_object (source_value);
if (E_IS_SOURCE (source)) {
- string = e_source_peek_uid (source);
+ string = e_source_get_uid (source);
g_value_set_string (target_value, string);
success = TRUE;
}
diff --git a/libemail-engine/e-mail-utils.c b/libemail-engine/e-mail-utils.c
index fcf24a8c57..5390ae771a 100644
--- a/libemail-engine/e-mail-utils.c
+++ b/libemail-engine/e-mail-utils.c
@@ -494,8 +494,8 @@ search_address_in_addressbooks (const gchar *address,
const gchar *uid;
GError *err = NULL;
- uid = e_source_peek_uid (source);
- display_name = e_source_peek_name (source);
+ uid = e_source_get_uid (source);
+ display_name = e_source_get_display_name (source);
/* failed to load this book last time, skip it now */
if (g_hash_table_lookup (emu_broken_books_hash, uid) != NULL) {
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index 74a3d5bc92..a84691e48b 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -5411,7 +5411,7 @@ setup_google_calendar (EMAccountEditor *emae)
array = g_ptr_array_new ();
for (i = 0; ids[i] != NULL; i++)
g_ptr_array_add (array, ids[i]);
- g_ptr_array_add (array, (gpointer) e_source_peek_uid (calendar));
+ g_ptr_array_add (array, (gpointer) e_source_get_uid (calendar));
g_ptr_array_add (array, NULL);
g_settings_set_strv (
settings, SELECTED_CALENDARS,
@@ -5483,7 +5483,7 @@ setup_yahoo_calendar (EMAccountEditor *emae)
array = g_ptr_array_new ();
for (i = 0; ids[i] != NULL; i++)
g_ptr_array_add (array, ids[i]);
- g_ptr_array_add (array, (gpointer) e_source_peek_uid (calendar));
+ g_ptr_array_add (array, (gpointer) e_source_get_uid (calendar));
g_ptr_array_add (array, NULL);
g_settings_set_strv (
settings, SELECTED_CALENDARS,
diff --git a/modules/addressbook/addressbook-config.c b/modules/addressbook/addressbook-config.c
index beccf33856..7e09c1b5da 100644
--- a/modules/addressbook/addressbook-config.c
+++ b/modules/addressbook/addressbook-config.c
@@ -482,7 +482,7 @@ eabc_type_changed (GtkComboBox *dropdown,
}
e_source_set_property(sdialog->source, "auth-domain", "Groupwise");
- tmp = g_strconcat (";", e_source_peek_name(sdialog->source), NULL);
+ tmp = g_strconcat (";", e_source_get_display_name(sdialog->source), NULL);
e_source_set_relative_uri (sdialog->source, tmp);
g_free (tmp);
#ifdef HAVE_LDAP
@@ -499,7 +499,7 @@ eabc_type_changed (GtkComboBox *dropdown,
e_source_set_property(sdialog->source, "limit", "100");
#endif
} else {
- e_source_set_relative_uri (sdialog->source, e_source_peek_uid (sdialog->source));
+ e_source_set_relative_uri (sdialog->source, e_source_get_uid (sdialog->source));
}
e_config_target_changed ((EConfig *) sdialog->config, E_CONFIG_TARGET_CHANGED_REBUILD);
@@ -573,7 +573,7 @@ name_changed_cb (GtkWidget *w,
text = gtk_entry_get_text (GTK_ENTRY (sdialog->display_name));
stripped_name = g_strstrip (g_strdup (text));
- changed = g_strcmp0 (stripped_name, e_source_peek_name (sdialog->source)) != 0;
+ changed = g_strcmp0 (stripped_name, e_source_get_display_name (sdialog->source)) != 0;
e_source_set_name (sdialog->source, stripped_name);
g_free (stripped_name);
@@ -607,7 +607,7 @@ eabc_general_name (EConfig *ec,
g_signal_connect (
sdialog->display_name, "changed",
G_CALLBACK (name_changed_cb), sdialog);
- gtk_entry_set_text ((GtkEntry *) sdialog->display_name, e_source_peek_name (sdialog->source));
+ gtk_entry_set_text ((GtkEntry *) sdialog->display_name, e_source_get_display_name (sdialog->source));
/* Hardcoded: groupwise can't edit the name (or anything else) */
if (sdialog->original_source) {
@@ -1204,7 +1204,7 @@ eabc_check_complete (EConfig *ec,
d(printf("check complete, pageid = '%s'\n", pageid?pageid:"<all>"));
/* have name, and unique */
- tmp = e_source_peek_name (sdialog->source);
+ tmp = e_source_get_display_name (sdialog->source);
valid = tmp && tmp[0] != 0
&& ((source = e_source_group_peek_source_by_name (sdialog->source_group, tmp)) == NULL
|| source == sdialog->original_source);
@@ -1349,7 +1349,7 @@ addressbook_config_edit_source (GtkWidget *parent,
/* forces initial validation */
if (!sdialog->original_source) {
- e_source_set_relative_uri (sdialog->source, e_source_peek_uid (sdialog->source));
+ e_source_set_relative_uri (sdialog->source, e_source_get_uid (sdialog->source));
e_config_target_changed ((EConfig *) ec, E_CONFIG_TARGET_CHANGED_STATE);
}
diff --git a/modules/addressbook/e-book-shell-sidebar.c b/modules/addressbook/e-book-shell-sidebar.c
index af28f8bbb1..d47dbd75f9 100644
--- a/modules/addressbook/e-book-shell-sidebar.c
+++ b/modules/addressbook/e-book-shell-sidebar.c
@@ -151,25 +151,30 @@ book_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
ESource *source;
gboolean can_delete = FALSE;
gboolean is_system = FALSE;
+ gboolean has_primary_source = FALSE;
guint32 state = 0;
book_shell_sidebar = E_BOOK_SHELL_SIDEBAR (shell_sidebar);
selector = e_book_shell_sidebar_get_selector (book_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source != NULL) {
const gchar *uri;
const gchar *delete;
+ has_primary_source = TRUE;
+
uri = e_source_peek_relative_uri (source);
is_system = (uri == NULL || strcmp (uri, "system") == 0);
can_delete = !is_system;
delete = e_source_get_property (source, "delete");
can_delete &= (delete == NULL || strcmp (delete, "no") != 0);
+
+ g_object_unref (source);
}
- if (source != NULL)
+ if (has_primary_source)
state |= E_BOOK_SHELL_SIDEBAR_HAS_PRIMARY_SOURCE;
if (can_delete)
state |= E_BOOK_SHELL_SIDEBAR_CAN_DELETE_PRIMARY_SOURCE;
diff --git a/modules/addressbook/e-book-shell-view-actions.c b/modules/addressbook/e-book-shell-view-actions.c
index 33c382bc4f..50834113c9 100644
--- a/modules/addressbook/e-book-shell-view-actions.c
+++ b/modules/addressbook/e-book-shell-view-actions.c
@@ -73,20 +73,23 @@ action_address_book_delete_cb (GtkAction *action,
book_shell_sidebar = book_shell_view->priv->book_shell_sidebar;
selector = e_book_shell_sidebar_get_selector (book_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
g_return_if_fail (source != NULL);
response = e_alert_run_dialog_for_args (
GTK_WINDOW (shell_window),
"addressbook:ask-delete-addressbook",
- e_source_peek_name (source), NULL);
+ e_source_get_display_name (source), NULL);
- if (response != GTK_RESPONSE_YES)
+ if (response != GTK_RESPONSE_YES) {
+ g_object_unref (source);
return;
+ }
book = e_book_client_new (source, &error);
if (error != NULL) {
g_warning ("Error removing addressbook: %s", error->message);
+ g_object_unref (source);
g_error_free (error);
return;
}
@@ -95,6 +98,7 @@ action_address_book_delete_cb (GtkAction *action,
e_alert_run_dialog_for_args (
GTK_WINDOW (shell_window),
"addressbook:remove-addressbook", NULL);
+ g_object_unref (source);
g_object_unref (book);
return;
}
@@ -107,6 +111,7 @@ action_address_book_delete_cb (GtkAction *action,
e_source_list_sync (source_list, NULL);
+ g_object_unref (source);
g_object_unref (book);
}
@@ -187,10 +192,10 @@ action_address_book_properties_cb (GtkAction *action,
book_shell_sidebar = book_shell_view->priv->book_shell_sidebar;
selector = e_book_shell_sidebar_get_selector (book_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
g_return_if_fail (source != NULL);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
uid_to_editor = book_shell_view->priv->uid_to_editor;
closure = g_hash_table_lookup (uid_to_editor, uid);
@@ -213,6 +218,8 @@ action_address_book_properties_cb (GtkAction *action,
}
gtk_window_present (GTK_WINDOW (closure->editor));
+
+ g_object_unref (source);
}
#ifdef WITH_CONTACT_MAPS
diff --git a/modules/addressbook/e-book-shell-view-private.c b/modules/addressbook/e-book-shell-view-private.c
index 3c3b1a9a8f..62793f3e50 100644
--- a/modules/addressbook/e-book-shell-view-private.c
+++ b/modules/addressbook/e-book-shell-view-private.c
@@ -271,12 +271,12 @@ book_shell_view_activate_selected_source (EBookShellView *book_shell_view,
shell_window = e_shell_view_get_shell_window (shell_view);
book_shell_content = book_shell_view->priv->book_shell_content;
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source == NULL)
return;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
hash_table = book_shell_view->priv->uid_to_view;
widget = g_hash_table_lookup (hash_table, uid);
@@ -339,7 +339,8 @@ book_shell_view_activate_selected_source (EBookShellView *book_shell_view,
model = e_addressbook_view_get_model (view);
/* XXX No way to cancel this? */
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
e_client_utils_authenticate_handler, GTK_WINDOW (shell_window),
book_shell_view_loaded_cb, g_object_ref (view));
@@ -380,6 +381,8 @@ book_shell_view_activate_selected_source (EBookShellView *book_shell_view,
e_addressbook_model_force_folder_bar_message (model);
selection_change (book_shell_view, view);
+
+ g_object_unref (source);
}
static gboolean
diff --git a/modules/calendar/e-cal-attachment-handler.c b/modules/calendar/e-cal-attachment-handler.c
index 3b18f426aa..403345d8ec 100644
--- a/modules/calendar/e-cal-attachment-handler.c
+++ b/modules/calendar/e-cal-attachment-handler.c
@@ -183,7 +183,7 @@ attachment_handler_import_event (GObject *source_object,
g_warn_if_fail (client == NULL);
g_warning (
"%s: Failed to open '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_object_unref (attachment);
g_error_free (error);
@@ -239,7 +239,7 @@ attachment_handler_import_todo (GObject *source_object,
g_warn_if_fail (client == NULL);
g_warning (
"%s: Failed to open '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_object_unref (attachment);
g_error_free (error);
@@ -354,18 +354,20 @@ attachment_handler_run_dialog (GtkWindow *parent,
if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
goto exit;
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source == NULL)
goto exit;
switch (source_type) {
case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_EVENTS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_EVENTS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
attachment_handler_import_event, g_object_ref (attachment));
break;
case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
- e_client_utils_open_new (source, E_CLIENT_SOURCE_TYPE_TASKS, FALSE, NULL,
+ e_client_utils_open_new (
+ source, E_CLIENT_SOURCE_TYPE_TASKS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
attachment_handler_import_todo, g_object_ref (attachment));
break;
@@ -373,6 +375,8 @@ attachment_handler_run_dialog (GtkWindow *parent,
break;
}
+ g_object_unref (source);
+
exit:
gtk_widget_destroy (dialog);
}
diff --git a/modules/calendar/e-cal-shell-backend.c b/modules/calendar/e-cal-shell-backend.c
index d538e9bd74..e73eca5d42 100644
--- a/modules/calendar/e-cal-shell-backend.c
+++ b/modules/calendar/e-cal-shell-backend.c
@@ -163,7 +163,7 @@ cal_shell_backend_ensure_sources (EShellBackend *shell_backend)
if (primary == NULL && selected == NULL) {
const gchar *uid;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
selected = g_slist_prepend (NULL, g_strdup (uid));
e_shell_settings_set_string (
@@ -260,7 +260,7 @@ cal_shell_backend_new_event (ESource *source,
g_warn_if_fail (client == NULL);
g_warning (
"%s: Failed to open '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
return;
@@ -641,7 +641,7 @@ cal_shell_backend_handle_uri_cb (EShellBackend *shell_backend,
if (error != NULL) {
g_warning (
"%s: Failed to create/open client '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_object_unref (source_list);
g_error_free (error);
diff --git a/modules/calendar/e-cal-shell-migrate.c b/modules/calendar/e-cal-shell-migrate.c
index dd76049171..7eb69edb85 100644
--- a/modules/calendar/e-cal-shell-migrate.c
+++ b/modules/calendar/e-cal-shell-migrate.c
@@ -176,9 +176,9 @@ create_calendar_sources (EShellBackend *shell_backend,
e_shell_settings_set_string (
shell_settings, "cal-primary-calendar",
- e_source_peek_uid (source));
+ e_source_get_uid (source));
- link.data = (gpointer) e_source_peek_uid (source);
+ link.data = (gpointer) e_source_get_uid (source);
link.next = NULL;
e_cal_shell_backend_set_selected_calendars (
diff --git a/modules/calendar/e-cal-shell-sidebar.c b/modules/calendar/e-cal-shell-sidebar.c
index 633942df98..468db23c40 100644
--- a/modules/calendar/e-cal-shell-sidebar.c
+++ b/modules/calendar/e-cal-shell-sidebar.c
@@ -131,7 +131,7 @@ cal_shell_sidebar_backend_died_cb (ECalShellSidebar *cal_shell_sidebar,
shell_content = e_shell_view_get_shell_content (shell_view);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
g_object_ref (source);
@@ -167,7 +167,7 @@ cal_shell_sidebar_backend_error_cb (ECalShellSidebar *cal_shell_sidebar,
E_ALERT_SINK (shell_content),
"calendar:backend-error",
e_source_group_peek_name (source_group),
- e_source_peek_name (source), message, NULL);
+ e_source_get_display_name (source), message, NULL);
}
static void
@@ -281,7 +281,7 @@ cal_shell_sidebar_client_opened_cb (GObject *source_object,
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
return;
@@ -422,7 +422,7 @@ cal_shell_sidebar_set_default (ECalShellSidebar *cal_shell_sidebar,
priv->loading_default_client = NULL;
}
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (priv->client_table, uid);
/* If we already have an open connection for
@@ -456,20 +456,22 @@ cal_shell_sidebar_row_changed_cb (ECalShellSidebar *cal_shell_sidebar,
ESource *source;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_source_by_path (selector, tree_path);
+ source = e_source_selector_ref_source_by_path (selector, tree_path);
/* XXX This signal gets emitted a lot while the model is being
* rebuilt, during which time we won't get a valid ESource.
* ESourceSelector should probably block this signal while
* rebuilding the model, but we'll be forgiving and not
* emit a warning. */
- if (!E_IS_SOURCE (source))
+ if (source == NULL)
return;
if (e_source_selector_source_is_selected (selector, source))
e_cal_shell_sidebar_add_source (cal_shell_sidebar, source);
else
e_cal_shell_sidebar_remove_source (cal_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -494,7 +496,7 @@ cal_shell_sidebar_selection_changed_cb (ECalShellSidebar *cal_shell_sidebar,
for (iter = list; iter != NULL; iter = iter->next) {
ESource *source = iter->data;
- iter->data = (gpointer) e_source_peek_uid (source);
+ iter->data = (gpointer) e_source_get_uid (source);
g_object_unref (source);
}
@@ -510,11 +512,13 @@ cal_shell_sidebar_primary_selection_changed_cb (ECalShellSidebar *cal_shell_side
{
ESource *source;
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source == NULL)
return;
cal_shell_sidebar_set_default (cal_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -816,17 +820,20 @@ cal_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
gboolean can_delete = FALSE;
gboolean is_system = FALSE;
gboolean refresh_supported = FALSE;
+ gboolean has_primary_source = FALSE;
guint32 state = 0;
cal_shell_sidebar = E_CAL_SHELL_SIDEBAR (shell_sidebar);
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source != NULL) {
ECalClient *client;
const gchar *uri;
const gchar *delete;
+ has_primary_source = TRUE;
+
uri = e_source_peek_relative_uri (source);
is_system = (uri == NULL || strcmp (uri, "system") == 0);
@@ -836,12 +843,14 @@ cal_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
client = g_hash_table_lookup (
cal_shell_sidebar->priv->client_table,
- e_source_peek_uid (source));
+ e_source_get_uid (source));
refresh_supported =
client && e_client_check_refresh_supported (E_CLIENT (client));
+
+ g_object_unref (source);
}
- if (source != NULL)
+ if (has_primary_source)
state |= E_CAL_SHELL_SIDEBAR_HAS_PRIMARY_SOURCE;
if (can_delete)
state |= E_CAL_SHELL_SIDEBAR_CAN_DELETE_PRIMARY_SOURCE;
@@ -870,8 +879,7 @@ cal_shell_sidebar_client_removed (ECalShellSidebar *cal_shell_sidebar,
NULL, NULL, cal_shell_sidebar);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
- g_return_if_fail (uid != NULL);
+ uid = e_source_get_uid (source);
g_hash_table_remove (client_table, uid);
e_source_selector_unselect_source (selector, source);
@@ -1069,7 +1077,7 @@ e_cal_shell_sidebar_add_source (ECalShellSidebar *cal_shell_sidebar,
default_client = cal_shell_sidebar->priv->default_client;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client != NULL)
@@ -1080,7 +1088,7 @@ e_cal_shell_sidebar_add_source (ECalShellSidebar *cal_shell_sidebar,
const gchar *default_uid;
default_source = e_client_get_source (E_CLIENT (default_client));
- default_uid = e_source_peek_uid (default_source);
+ default_uid = e_source_get_uid (default_source);
if (g_strcmp0 (uid, default_uid) == 0)
client = g_object_ref (default_client);
@@ -1146,7 +1154,7 @@ e_cal_shell_sidebar_remove_source (ECalShellSidebar *cal_shell_sidebar,
client_table = cal_shell_sidebar->priv->client_table;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client == NULL)
diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c
index d73feef25e..e5db33837c 100644
--- a/modules/calendar/e-cal-shell-view-actions.c
+++ b/modules/calendar/e-cal-shell-view-actions.c
@@ -46,12 +46,14 @@ action_calendar_copy_cb (GtkAction *action,
cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
copy_source_dialog (
GTK_WINDOW (shell_window),
source, E_CAL_CLIENT_SOURCE_TYPE_EVENTS);
+
+ g_object_unref (source);
}
static void
@@ -88,16 +90,18 @@ action_calendar_delete_cb (GtkAction *action,
cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
/* Ask for confirmation. */
response = e_alert_run_dialog_for_args (
GTK_WINDOW (shell_window),
"calendar:prompt-delete-calendar",
- e_source_peek_name (source), NULL);
- if (response != GTK_RESPONSE_YES)
+ e_source_get_display_name (source), NULL);
+ if (response != GTK_RESPONSE_YES) {
+ g_object_unref (source);
return;
+ }
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
@@ -114,6 +118,7 @@ action_calendar_delete_cb (GtkAction *action,
g_warning (
"%s: Failed to remove client: %s",
G_STRFUNC, error->message);
+ g_object_unref (source);
g_error_free (error);
return;
}
@@ -138,6 +143,8 @@ action_calendar_delete_cb (GtkAction *action,
G_STRFUNC, error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -282,13 +289,15 @@ action_calendar_properties_cb (GtkAction *action,
cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
/* XXX Does this -really- need a source group parameter? */
calendar_setup_edit_calendar (
GTK_WINDOW (shell_window), source,
e_source_peek_group (source));
+
+ g_object_unref (source);
}
static void
@@ -384,15 +393,17 @@ action_calendar_refresh_cb (GtkAction *action,
model = e_cal_shell_content_get_model (cal_shell_content);
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
g_free (uri);
- if (client == NULL)
+ if (client == NULL) {
+ g_object_unref (source);
return;
+ }
g_return_if_fail (e_client_check_refresh_supported (E_CLIENT (client)));
@@ -401,10 +412,12 @@ action_calendar_refresh_cb (GtkAction *action,
if (error != NULL) {
g_warning (
"%s: Failed to refresh '%s', %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -452,10 +465,12 @@ action_calendar_select_one_cb (GtkAction *action,
cal_shell_sidebar = cal_shell_view->priv->cal_shell_sidebar;
selector = e_cal_shell_sidebar_get_selector (cal_shell_sidebar);
- primary = e_source_selector_get_primary_selection (selector);
+ primary = e_source_selector_ref_primary_selection (selector);
g_return_if_fail (primary != NULL);
e_source_selector_select_exclusive (selector, primary);
+
+ g_object_unref (primary);
}
static void
diff --git a/modules/calendar/e-memo-shell-backend.c b/modules/calendar/e-memo-shell-backend.c
index 2bdd3ef8ed..127473d582 100644
--- a/modules/calendar/e-memo-shell-backend.c
+++ b/modules/calendar/e-memo-shell-backend.c
@@ -151,7 +151,7 @@ memo_shell_backend_ensure_sources (EShellBackend *shell_backend)
if (primary == NULL && selected == NULL) {
const gchar *uid;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
selected = g_slist_prepend (NULL, g_strdup (uid));
e_shell_settings_set_string (
@@ -193,7 +193,7 @@ memo_shell_backend_new_memo (ESource *source,
g_warn_if_fail (client == NULL);
g_warning (
"%s: Failed to open '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
return;
diff --git a/modules/calendar/e-memo-shell-content.c b/modules/calendar/e-memo-shell-content.c
index 528db0911b..24f7a68d73 100644
--- a/modules/calendar/e-memo-shell-content.c
+++ b/modules/calendar/e-memo-shell-content.c
@@ -124,7 +124,7 @@ memo_shell_content_table_foreach_cb (gint model_row,
const gchar *source_uid;
source = e_client_get_source (E_CLIENT (comp_data->client));
- source_uid = e_source_peek_uid (source);
+ source_uid = e_source_get_uid (source);
foreach_data->list = g_slist_prepend (
foreach_data->list,
diff --git a/modules/calendar/e-memo-shell-migrate.c b/modules/calendar/e-memo-shell-migrate.c
index 64b5263008..efa0716b81 100644
--- a/modules/calendar/e-memo-shell-migrate.c
+++ b/modules/calendar/e-memo-shell-migrate.c
@@ -134,9 +134,9 @@ create_memo_sources (EShellBackend *shell_backend,
e_shell_settings_set_string (
shell_settings, "cal-primary-memo-list",
- e_source_peek_uid (source));
+ e_source_get_uid (source));
- link.data = (gpointer) e_source_peek_uid (source);
+ link.data = (gpointer) e_source_get_uid (source);
link.next = NULL;
e_memo_shell_backend_set_selected_memo_lists (
diff --git a/modules/calendar/e-memo-shell-sidebar.c b/modules/calendar/e-memo-shell-sidebar.c
index 4a012c7d6d..7e209c5d24 100644
--- a/modules/calendar/e-memo-shell-sidebar.c
+++ b/modules/calendar/e-memo-shell-sidebar.c
@@ -127,7 +127,7 @@ memo_shell_sidebar_backend_died_cb (EMemoShellSidebar *memo_shell_sidebar,
shell_content = e_shell_view_get_shell_content (shell_view);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
g_object_ref (source);
@@ -163,7 +163,7 @@ memo_shell_sidebar_backend_error_cb (EMemoShellSidebar *memo_shell_sidebar,
E_ALERT_SINK (shell_content),
"calendar:backend-error",
e_source_group_peek_name (source_group),
- e_source_peek_name (source), message, NULL);
+ e_source_get_display_name (source), message, NULL);
}
static void
@@ -276,7 +276,7 @@ memo_shell_sidebar_client_opened_cb (GObject *source_object,
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
return;
@@ -417,7 +417,7 @@ memo_shell_sidebar_set_default (EMemoShellSidebar *memo_shell_sidebar,
priv->loading_default_client = NULL;
}
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (priv->client_table, uid);
/* If we already have an open connection for
@@ -451,20 +451,22 @@ memo_shell_sidebar_row_changed_cb (EMemoShellSidebar *memo_shell_sidebar,
ESource *source;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- source = e_source_selector_get_source_by_path (selector, tree_path);
+ source = e_source_selector_ref_source_by_path (selector, tree_path);
/* XXX This signal gets emitted a lot while the model is being
* rebuilt, during which time we won't get a valid ESource.
* ESourceSelector should probably block this signal while
* rebuilding the model, but we'll be forgiving and not
* emit a warning. */
- if (!E_IS_SOURCE (source))
+ if (source == NULL)
return;
if (e_source_selector_source_is_selected (selector, source))
e_memo_shell_sidebar_add_source (memo_shell_sidebar, source);
else
e_memo_shell_sidebar_remove_source (memo_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -489,7 +491,7 @@ memo_shell_sidebar_selection_changed_cb (EMemoShellSidebar *memo_shell_sidebar,
for (iter = list; iter != NULL; iter = iter->next) {
ESource *source = iter->data;
- iter->data = (gpointer) e_source_peek_uid (source);
+ iter->data = (gpointer) e_source_get_uid (source);
g_object_unref (source);
}
@@ -505,11 +507,13 @@ memo_shell_sidebar_primary_selection_changed_cb (EMemoShellSidebar *memo_shell_s
{
ESource *source;
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source == NULL)
return;
memo_shell_sidebar_set_default (memo_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -721,17 +725,20 @@ memo_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
gboolean can_delete = FALSE;
gboolean is_system = FALSE;
gboolean refresh_supported = FALSE;
+ gboolean has_primary_source = FALSE;
guint32 state = 0;
memo_shell_sidebar = E_MEMO_SHELL_SIDEBAR (shell_sidebar);
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source != NULL) {
ECalClient *client;
const gchar *uri;
const gchar *delete;
+ has_primary_source = TRUE;
+
uri = e_source_peek_relative_uri (source);
is_system = (uri == NULL || strcmp (uri, "system") == 0);
@@ -741,12 +748,14 @@ memo_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
client = g_hash_table_lookup (
memo_shell_sidebar->priv->client_table,
- e_source_peek_uid (source));
+ e_source_get_uid (source));
refresh_supported =
client && e_client_check_refresh_supported (E_CLIENT (client));
+
+ g_object_unref (source);
}
- if (source != NULL)
+ if (has_primary_source)
state |= E_MEMO_SHELL_SIDEBAR_HAS_PRIMARY_SOURCE;
if (can_delete)
state |= E_MEMO_SHELL_SIDEBAR_CAN_DELETE_PRIMARY_SOURCE;
@@ -775,8 +784,7 @@ memo_shell_sidebar_client_removed (EMemoShellSidebar *memo_shell_sidebar,
NULL, NULL, memo_shell_sidebar);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
- g_return_if_fail (uid != NULL);
+ uid = e_source_get_uid (source);
g_hash_table_remove (client_table, uid);
e_source_selector_unselect_source (selector, source);
@@ -956,7 +964,7 @@ e_memo_shell_sidebar_add_source (EMemoShellSidebar *memo_shell_sidebar,
default_client = memo_shell_sidebar->priv->default_client;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client != NULL)
@@ -967,7 +975,7 @@ e_memo_shell_sidebar_add_source (EMemoShellSidebar *memo_shell_sidebar,
const gchar *default_uid;
default_source = e_client_get_source (E_CLIENT (default_client));
- default_uid = e_source_peek_uid (default_source);
+ default_uid = e_source_get_uid (default_source);
if (g_strcmp0 (uid, default_uid) == 0)
client = g_object_ref (default_client);
@@ -1033,7 +1041,7 @@ e_memo_shell_sidebar_remove_source (EMemoShellSidebar *memo_shell_sidebar,
client_table = memo_shell_sidebar->priv->client_table;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client == NULL)
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index 5a99624a95..4c2025910a 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -116,12 +116,14 @@ action_memo_list_copy_cb (GtkAction *action,
memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
copy_source_dialog (
GTK_WINDOW (shell_window),
source, E_CAL_CLIENT_SOURCE_TYPE_MEMOS);
+
+ g_object_unref (source);
}
static void
@@ -156,16 +158,18 @@ action_memo_list_delete_cb (GtkAction *action,
memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
/* Ask for confirmation. */
response = e_alert_run_dialog_for_args (
GTK_WINDOW (shell_window),
"calendar:prompt-delete-memo-list",
- e_source_peek_name (source), NULL);
- if (response != GTK_RESPONSE_YES)
+ e_source_get_display_name (source), NULL);
+ if (response != GTK_RESPONSE_YES) {
+ g_object_unref (source);
return;
+ }
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
@@ -182,6 +186,7 @@ action_memo_list_delete_cb (GtkAction *action,
g_warning (
"%s: Failed to remove client: %s",
G_STRFUNC, error->message);
+ g_object_unref (source);
g_error_free (error);
return;
}
@@ -203,6 +208,8 @@ action_memo_list_delete_cb (GtkAction *action,
G_STRFUNC, error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -262,10 +269,12 @@ action_memo_list_properties_cb (GtkAction *action,
memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
calendar_setup_edit_memo_list (GTK_WINDOW (shell_window), source);
+
+ g_object_unref (source);
}
static void
@@ -287,15 +296,17 @@ action_memo_list_refresh_cb (GtkAction *action,
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_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
g_free (uri);
- if (client == NULL)
+ if (client == NULL) {
+ g_object_unref (source);
return;
+ }
g_return_if_fail (e_client_check_refresh_supported (E_CLIENT (client)));
@@ -304,10 +315,12 @@ action_memo_list_refresh_cb (GtkAction *action,
if (error != NULL) {
g_warning (
"%s: Failed to refresh '%s', %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -334,10 +347,12 @@ action_memo_list_select_one_cb (GtkAction *action,
memo_shell_sidebar = memo_shell_view->priv->memo_shell_sidebar;
selector = e_memo_shell_sidebar_get_selector (memo_shell_sidebar);
- primary = e_source_selector_get_primary_selection (selector);
+ primary = e_source_selector_ref_primary_selection (selector);
g_return_if_fail (primary != NULL);
e_source_selector_select_exclusive (selector, primary);
+
+ g_object_unref (primary);
}
static void
diff --git a/modules/calendar/e-task-shell-backend.c b/modules/calendar/e-task-shell-backend.c
index 1bb7ca338f..786e9c6910 100644
--- a/modules/calendar/e-task-shell-backend.c
+++ b/modules/calendar/e-task-shell-backend.c
@@ -147,7 +147,7 @@ task_shell_backend_ensure_sources (EShellBackend *shell_backend)
if (primary == NULL && selected == NULL) {
const gchar *uid;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
selected = g_slist_prepend (NULL, g_strdup (uid));
e_shell_settings_set_string (
@@ -189,7 +189,7 @@ task_shell_backend_new_task (ESource *source,
g_warn_if_fail (client == NULL);
g_warning (
"%s: Failed to open '%s': %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
return;
diff --git a/modules/calendar/e-task-shell-content.c b/modules/calendar/e-task-shell-content.c
index 67b1e368b3..0ebff795bf 100644
--- a/modules/calendar/e-task-shell-content.c
+++ b/modules/calendar/e-task-shell-content.c
@@ -124,7 +124,7 @@ task_shell_content_table_foreach_cb (gint model_row,
const gchar *source_uid;
source = e_client_get_source (E_CLIENT (comp_data->client));
- source_uid = e_source_peek_uid (source);
+ source_uid = e_source_get_uid (source);
foreach_data->list = g_slist_prepend (
foreach_data->list,
diff --git a/modules/calendar/e-task-shell-migrate.c b/modules/calendar/e-task-shell-migrate.c
index 60499d673f..c24f52d97c 100644
--- a/modules/calendar/e-task-shell-migrate.c
+++ b/modules/calendar/e-task-shell-migrate.c
@@ -143,9 +143,9 @@ create_task_sources (EShellBackend *shell_backend,
e_shell_settings_set_string (
shell_settings, "cal-primary-task-list",
- e_source_peek_uid (source));
+ e_source_get_uid (source));
- link.data = (gpointer) e_source_peek_uid (source);
+ link.data = (gpointer) e_source_get_uid (source);
link.next = NULL;
e_task_shell_backend_set_selected_task_lists (
diff --git a/modules/calendar/e-task-shell-sidebar.c b/modules/calendar/e-task-shell-sidebar.c
index a2ceb77bbf..4667ae4ed6 100644
--- a/modules/calendar/e-task-shell-sidebar.c
+++ b/modules/calendar/e-task-shell-sidebar.c
@@ -127,7 +127,7 @@ task_shell_sidebar_backend_died_cb (ETaskShellSidebar *task_shell_sidebar,
shell_content = e_shell_view_get_shell_content (shell_view);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
g_object_ref (source);
@@ -163,7 +163,7 @@ task_shell_sidebar_backend_error_cb (ETaskShellSidebar *task_shell_sidebar,
E_ALERT_SINK (shell_content),
"calendar:backend-error",
e_source_group_peek_name (source_group),
- e_source_peek_name (source), message, NULL);
+ e_source_get_display_name (source), message, NULL);
}
static void
@@ -276,7 +276,7 @@ task_shell_sidebar_client_opened_cb (GObject *source_object,
case E_CLIENT_ERROR_BUSY:
g_warning (
"%s: Cannot open '%s', it's busy (%s)",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_clear_error (&error);
return;
@@ -417,7 +417,7 @@ task_shell_sidebar_set_default (ETaskShellSidebar *task_shell_sidebar,
priv->loading_default_client = NULL;
}
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (priv->client_table, uid);
/* If we already have an open connection for
@@ -451,20 +451,22 @@ task_shell_sidebar_row_changed_cb (ETaskShellSidebar *task_shell_sidebar,
ESource *source;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- source = e_source_selector_get_source_by_path (selector, tree_path);
+ source = e_source_selector_ref_source_by_path (selector, tree_path);
/* XXX This signal gets emitted a lot while the model is being
* rebuilt, during which time we won't get a valid ESource.
* ESourceSelector should probably block this signal while
* rebuilding the model, but we'll be forgiving and not
* emit a warning. */
- if (!E_IS_SOURCE (source))
+ if (source == NULL)
return;
if (e_source_selector_source_is_selected (selector, source))
e_task_shell_sidebar_add_source (task_shell_sidebar, source);
else
e_task_shell_sidebar_remove_source (task_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -489,7 +491,7 @@ task_shell_sidebar_selection_changed_cb (ETaskShellSidebar *task_shell_sidebar,
for (iter = list; iter != NULL; iter = iter->next) {
ESource *source = iter->data;
- iter->data = (gpointer) e_source_peek_uid (source);
+ iter->data = (gpointer) e_source_get_uid (source);
g_object_unref (source);
}
@@ -505,11 +507,13 @@ task_shell_sidebar_primary_selection_changed_cb (ETaskShellSidebar *task_shell_s
{
ESource *source;
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source == NULL)
return;
task_shell_sidebar_set_default (task_shell_sidebar, source);
+
+ g_object_unref (source);
}
static void
@@ -721,17 +725,20 @@ task_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
gboolean can_delete = FALSE;
gboolean is_system = FALSE;
gboolean refresh_supported = FALSE;
+ gboolean has_primary_source = FALSE;
guint32 state = 0;
task_shell_sidebar = E_TASK_SHELL_SIDEBAR (shell_sidebar);
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
+ source = e_source_selector_ref_primary_selection (selector);
if (source != NULL) {
ECalClient *client;
const gchar *uri;
const gchar *delete_prop;
+ has_primary_source = TRUE;
+
uri = e_source_peek_relative_uri (source);
is_system = (uri == NULL || strcmp (uri, "system") == 0);
@@ -742,12 +749,14 @@ task_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
client = g_hash_table_lookup (
task_shell_sidebar->priv->client_table,
- e_source_peek_uid (source));
+ e_source_get_uid (source));
refresh_supported = client &&
e_client_check_refresh_supported (E_CLIENT (client));
+
+ g_object_unref (source);
}
- if (source != NULL)
+ if (has_primary_source)
state |= E_TASK_SHELL_SIDEBAR_HAS_PRIMARY_SOURCE;
if (can_delete)
state |= E_TASK_SHELL_SIDEBAR_CAN_DELETE_PRIMARY_SOURCE;
@@ -776,8 +785,7 @@ task_shell_sidebar_client_removed (ETaskShellSidebar *task_shell_sidebar,
NULL, NULL, task_shell_sidebar);
source = e_client_get_source (E_CLIENT (client));
- uid = e_source_peek_uid (source);
- g_return_if_fail (uid != NULL);
+ uid = e_source_get_uid (source);
g_hash_table_remove (client_table, uid);
e_source_selector_unselect_source (selector, source);
@@ -957,7 +965,7 @@ e_task_shell_sidebar_add_source (ETaskShellSidebar *task_shell_sidebar,
default_client = task_shell_sidebar->priv->default_client;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client != NULL)
@@ -968,7 +976,7 @@ e_task_shell_sidebar_add_source (ETaskShellSidebar *task_shell_sidebar,
const gchar *default_uid;
default_source = e_client_get_source (E_CLIENT (default_client));
- default_uid = e_source_peek_uid (default_source);
+ default_uid = e_source_get_uid (default_source);
if (g_strcmp0 (uid, default_uid) == 0)
client = g_object_ref (default_client);
@@ -1034,7 +1042,7 @@ e_task_shell_sidebar_remove_source (ETaskShellSidebar *task_shell_sidebar,
client_table = task_shell_sidebar->priv->client_table;
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
client = g_hash_table_lookup (client_table, uid);
if (client == NULL)
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index 7f4fd08600..badfbf031d 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -139,12 +139,14 @@ action_task_list_copy_cb (GtkAction *action,
task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
copy_source_dialog (
GTK_WINDOW (shell_window),
source, E_CAL_CLIENT_SOURCE_TYPE_TASKS);
+
+ g_object_unref (source);
}
static void
@@ -179,16 +181,18 @@ action_task_list_delete_cb (GtkAction *action,
task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
/* Ask for confirmation. */
response = e_alert_run_dialog_for_args (
GTK_WINDOW (shell_window),
"calendar:prompt-delete-task-list",
- e_source_peek_name (source), NULL);
- if (response != GTK_RESPONSE_YES)
+ e_source_get_display_name (source), NULL);
+ if (response != GTK_RESPONSE_YES) {
+ g_object_unref (source);
return;
+ }
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
@@ -205,6 +209,7 @@ action_task_list_delete_cb (GtkAction *action,
g_warning (
"%s: Failed to remove client: %s",
G_STRFUNC, error->message);
+ g_object_unref (source);
g_error_free (error);
return;
}
@@ -226,6 +231,8 @@ action_task_list_delete_cb (GtkAction *action,
G_STRFUNC, error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -285,10 +292,12 @@ action_task_list_properties_cb (GtkAction *action,
task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- source = e_source_selector_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
calendar_setup_edit_task_list (GTK_WINDOW (shell_window), source);
+
+ g_object_unref (source);
}
static void
@@ -310,15 +319,17 @@ action_task_list_refresh_cb (GtkAction *action,
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_get_primary_selection (selector);
- g_return_if_fail (E_IS_SOURCE (source));
+ source = e_source_selector_ref_primary_selection (selector);
+ g_return_if_fail (source != NULL);
uri = e_source_get_uri (source);
client = e_cal_model_get_client_for_uri (model, uri);
g_free (uri);
- if (client == NULL)
+ if (client == NULL) {
+ g_object_unref (source);
return;
+ }
g_return_if_fail (e_client_check_refresh_supported (E_CLIENT (client)));
@@ -327,10 +338,12 @@ action_task_list_refresh_cb (GtkAction *action,
if (error != NULL) {
g_warning (
"%s: Failed to refresh '%s', %s",
- G_STRFUNC, e_source_peek_name (source),
+ G_STRFUNC, e_source_get_display_name (source),
error->message);
g_error_free (error);
}
+
+ g_object_unref (source);
}
static void
@@ -357,10 +370,12 @@ action_task_list_select_one_cb (GtkAction *action,
task_shell_sidebar = task_shell_view->priv->task_shell_sidebar;
selector = e_task_shell_sidebar_get_selector (task_shell_sidebar);
- primary = e_source_selector_get_primary_selection (selector);
+ primary = e_source_selector_ref_primary_selection (selector);
g_return_if_fail (primary != NULL);
e_source_selector_select_exclusive (selector, primary);
+
+ g_object_unref (primary);
}
static void
diff --git a/modules/online-accounts/evolution-online-accounts.c b/modules/online-accounts/evolution-online-accounts.c
index 8abe52203b..3cdfc423c7 100644
--- a/modules/online-accounts/evolution-online-accounts.c
+++ b/modules/online-accounts/evolution-online-accounts.c
@@ -245,7 +245,7 @@ online_accounts_search_source_list (EOnlineAccounts *extension,
source = E_SOURCE (list_b->data);
list_b = g_slist_next (list_b);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
property = e_source_get_property (source, GOA_KEY);
if (property == NULL)
diff --git a/plugins/addressbook-file/addressbook-file.c b/plugins/addressbook-file/addressbook-file.c
index 37ed087c01..40d6458b19 100644
--- a/plugins/addressbook-file/addressbook-file.c
+++ b/plugins/addressbook-file/addressbook-file.c
@@ -63,7 +63,7 @@ e_book_file_dummy (EPlugin *epl,
return NULL;
}
- e_source_set_relative_uri (source, e_source_peek_uid (source));
+ e_source_set_relative_uri (source, e_source_get_uid (source));
return NULL;
}
diff --git a/plugins/bbdb/bbdb.c b/plugins/bbdb/bbdb.c
index 1fa392b09f..69115ddd02 100644
--- a/plugins/bbdb/bbdb.c
+++ b/plugins/bbdb/bbdb.c
@@ -427,9 +427,11 @@ bbdb_create_book_client (gint type)
/* Open the appropriate addresbook. */
if (type == GAIM_ADDRESSBOOK)
- uri = g_settings_get_string (settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM);
+ uri = g_settings_get_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM);
else
- uri = g_settings_get_string (settings, CONF_KEY_WHICH_ADDRESSBOOK);
+ uri = g_settings_get_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK);
g_object_unref (G_OBJECT (settings));
if (uri == NULL)
@@ -520,12 +522,17 @@ enable_toggled_cb (GtkWidget *widget,
if (active && !addressbook) {
const gchar *uri = NULL;
- selected_source = e_source_combo_box_get_active (
+ selected_source = e_source_combo_box_ref_active (
E_SOURCE_COMBO_BOX (stuff->combo_box));
- if (selected_source != NULL)
+ if (selected_source != NULL) {
uri = e_source_get_uri (selected_source);
-
- g_settings_set_string (settings, CONF_KEY_WHICH_ADDRESSBOOK, uri ? uri : "");
+ g_settings_set_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK, uri);
+ g_object_unref (selected_source);
+ } else {
+ g_settings_set_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK, "");
+ }
}
g_free (addressbook);
@@ -547,12 +554,23 @@ enable_gaim_toggled_cb (GtkWidget *widget,
/* Save the new setting to GSettings */
g_settings_set_boolean (settings, CONF_KEY_ENABLE_GAIM, active);
- addressbook_gaim = g_settings_get_string (settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM);
+ addressbook_gaim = g_settings_get_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM);
gtk_widget_set_sensitive (stuff->gaim_combo_box, active);
if (active && !addressbook_gaim) {
- selected_source = e_source_combo_box_get_active (
+ const gchar *uri = NULL;
+
+ selected_source = e_source_combo_box_ref_active (
E_SOURCE_COMBO_BOX (stuff->gaim_combo_box));
- g_settings_set_string (settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM, e_source_get_uri (selected_source));
+ if (selected_source != NULL) {
+ uri = e_source_get_uri (selected_source);
+ g_settings_set_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM, uri);
+ g_object_unref (selected_source);
+ } else {
+ g_settings_set_string (
+ settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM, "");
+ }
}
g_free (addressbook_gaim);
@@ -569,34 +587,38 @@ static void
source_changed_cb (ESourceComboBox *source_combo_box,
struct bbdb_stuff *stuff)
{
+ GSettings *settings;
ESource *source;
- GSettings *settings = g_settings_new (CONF_SCHEMA);
-
- source = e_source_combo_box_get_active (source_combo_box);
+ const gchar *uri;
- g_settings_set_string (
- settings,
- CONF_KEY_WHICH_ADDRESSBOOK,
- source ? e_source_get_uri (source) : "");
+ source = e_source_combo_box_ref_active (source_combo_box);
+ uri = (source != NULL) ? e_source_get_uri (source) : "";
+ settings = g_settings_new (CONF_SCHEMA);
+ g_settings_set_string (settings, CONF_KEY_WHICH_ADDRESSBOOK, uri);
g_object_unref (settings);
+
+ if (source != NULL)
+ g_object_unref (source);
}
static void
gaim_source_changed_cb (ESourceComboBox *source_combo_box,
struct bbdb_stuff *stuff)
{
+ GSettings *settings;
ESource *source;
- GSettings *settings = g_settings_new (CONF_SCHEMA);
-
- source = e_source_combo_box_get_active (source_combo_box);
+ const gchar *uri;
- g_settings_set_string (
- settings,
- CONF_KEY_WHICH_ADDRESSBOOK_GAIM,
- source ? e_source_get_uri (source) : "");
+ source = e_source_combo_box_ref_active (source_combo_box);
+ uri = (source != NULL) ? e_source_get_uri (source) : "";
+ settings = g_settings_new (CONF_SCHEMA);
+ g_settings_set_string (settings, CONF_KEY_WHICH_ADDRESSBOOK_GAIM, uri);
g_object_unref (settings);
+
+ if (source != NULL)
+ g_object_unref (source);
}
static GtkWidget *
diff --git a/plugins/calendar-file/calendar-file.c b/plugins/calendar-file/calendar-file.c
index 0afb158552..32ba96aa8a 100644
--- a/plugins/calendar-file/calendar-file.c
+++ b/plugins/calendar-file/calendar-file.c
@@ -124,7 +124,7 @@ e_calendar_file_customs (EPlugin *epl,
if (relative_uri && g_str_equal (relative_uri, "system"))
return NULL;
- e_source_set_relative_uri (source, e_source_peek_uid (source));
+ e_source_set_relative_uri (source, e_source_get_uid (source));
mainbox = gtk_vbox_new (FALSE, 2);
g_object_get (data->parent, "n-rows", &n_rows, NULL);
diff --git a/plugins/default-source/default-source.c b/plugins/default-source/default-source.c
index c80aba39cd..0e4ce12b94 100644
--- a/plugins/default-source/default-source.c
+++ b/plugins/default-source/default-source.c
@@ -62,7 +62,7 @@ mark_default_source_in_list (ESourceList *source_list,
g_return_if_fail (source_list != NULL);
g_return_if_fail (source != NULL);
- source = e_source_list_peek_source_by_uid (source_list, e_source_peek_uid (source));
+ source = e_source_list_peek_source_by_uid (source_list, e_source_get_uid (source));
for (g = e_source_list_peek_groups (source_list); g; g = g->next) {
ESourceGroup *group = g->data;
diff --git a/plugins/itip-formatter/itip-formatter.c b/plugins/itip-formatter/itip-formatter.c
index b8fd802676..16f7a21d53 100644
--- a/plugins/itip-formatter/itip-formatter.c
+++ b/plugins/itip-formatter/itip-formatter.c
@@ -440,7 +440,7 @@ get_real_item (ItipPURI *pitip)
source = e_client_get_source (E_CLIENT (pitip->current_client));
if (source)
- comp = g_hash_table_lookup (pitip->real_comps, e_source_peek_uid (source));
+ comp = g_hash_table_lookup (pitip->real_comps, e_source_get_uid (source));
if (!comp) {
return NULL;
@@ -502,7 +502,7 @@ add_failed_to_load_msg (ItipView *view,
/* Translators: The first '%s' is replaced with a calendar name,
* the second '%s' with an error message */
- msg = g_strdup_printf (_("Failed to load the calendar '%s' (%s)"), e_source_peek_name (source), error->message);
+ msg = g_strdup_printf (_("Failed to load the calendar '%s' (%s)"), e_source_get_display_name (source), error->message);
itip_view_add_lower_info_item (view, ITIP_VIEW_INFO_ITEM_TYPE_WARNING, msg);
@@ -544,7 +544,7 @@ cal_opened_cb (GObject *source_object,
cal_client = E_CAL_CLIENT (client);
g_return_if_fail (cal_client != NULL);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
source_type = e_cal_client_get_source_type (cal_client);
g_hash_table_insert (
pitip->clients[source_type], g_strdup (uid), cal_client);
@@ -586,7 +586,7 @@ start_calendar_server (ItipPURI *pitip,
g_return_if_fail (source != NULL);
- client = g_hash_table_lookup (pitip->clients[type], e_source_peek_uid (source));
+ client = g_hash_table_lookup (pitip->clients[type], e_source_get_uid (source));
if (client) {
pitip->current_client = client;
@@ -663,7 +663,7 @@ find_cal_update_ui (FormatItipFindData *fd,
if (cal_client && g_hash_table_lookup (fd->conflicts, cal_client)) {
itip_view_add_upper_info_item_printf (view, ITIP_VIEW_INFO_ITEM_TYPE_WARNING,
- _("An appointment in the calendar '%s' conflicts with this meeting"), e_source_peek_name (source));
+ _("An appointment in the calendar '%s' conflicts with this meeting"), e_source_get_display_name (source));
}
/* search for a master object if the detached object doesn't exist in the calendar */
@@ -687,7 +687,7 @@ find_cal_update_ui (FormatItipFindData *fd,
/* FIXME Check read only state of calendar? */
itip_view_add_lower_info_item_printf (view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
- _("Found the appointment in the calendar '%s'"), e_source_peek_name (source));
+ _("Found the appointment in the calendar '%s'"), e_source_get_display_name (source));
set_buttons_sensitive (pitip, view);
} else if (!pitip->current_client)
@@ -878,7 +878,7 @@ get_object_without_rid_ready_cb (GObject *source_object,
if (comp) {
ESource *source = e_client_get_source (E_CLIENT (cal_client));
- g_hash_table_insert (fd->puri->real_comps, g_strdup (e_source_peek_uid (source)), comp);
+ g_hash_table_insert (fd->puri->real_comps, g_strdup (e_source_get_uid (source)), comp);
}
find_cal_update_ui (fd, cal_client);
@@ -929,7 +929,7 @@ get_object_with_rid_ready_cb (GObject *source_object,
if (comp) {
ESource *source = e_client_get_source (E_CLIENT (cal_client));
- g_hash_table_insert (fd->puri->real_comps, g_strdup (e_source_peek_uid (source)), comp);
+ g_hash_table_insert (fd->puri->real_comps, g_strdup (e_source_get_uid (source)), comp);
}
find_cal_update_ui (fd, cal_client);
@@ -1037,7 +1037,7 @@ find_cal_opened_cb (GObject *source_object,
cal_client = E_CAL_CLIENT (client);
source_type = e_cal_client_get_source_type (cal_client);
- uid = e_source_peek_uid (source);
+ uid = e_source_get_uid (source);
g_hash_table_insert (
pitip->clients[source_type], g_strdup (uid), cal_client);
@@ -1500,7 +1500,7 @@ receive_objects_ready_cb (GObject *ecalclient,
itip_view_add_lower_info_item_printf (
view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
_("Unable to send item to calendar '%s'. %s"),
- e_source_peek_name (source), error ? error->message : _("Unknown error"));
+ e_source_get_display_name (source), error ? error->message : _("Unknown error"));
}
g_clear_error (&error);
return;
@@ -1514,24 +1514,24 @@ receive_objects_ready_cb (GObject *ecalclient,
case ITIP_VIEW_RESPONSE_ACCEPT:
itip_view_add_lower_info_item_printf (
view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
- _("Sent to calendar '%s' as accepted"), e_source_peek_name (source));
+ _("Sent to calendar '%s' as accepted"), e_source_get_display_name (source));
break;
case ITIP_VIEW_RESPONSE_TENTATIVE:
itip_view_add_lower_info_item_printf (
view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
- _("Sent to calendar '%s' as tentative"), e_source_peek_name (source));
+ _("Sent to calendar '%s' as tentative"), e_source_get_display_name (source));
break;
case ITIP_VIEW_RESPONSE_DECLINE:
/* FIXME some calendars just might not save it at all, is this accurate? */
itip_view_add_lower_info_item_printf (
view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
- _("Sent to calendar '%s' as declined"), e_source_peek_name (source));
+ _("Sent to calendar '%s' as declined"), e_source_get_display_name (source));
break;
case ITIP_VIEW_RESPONSE_CANCEL:
/* FIXME some calendars just might not save it at all, is this accurate? */
itip_view_add_lower_info_item_printf (
view, ITIP_VIEW_INFO_ITEM_TYPE_INFO,
- _("Sent to calendar '%s' as canceled"), e_source_peek_name (source));
+ _("Sent to calendar '%s' as canceled"), e_source_get_display_name (source));
break;
default:
g_assert_not_reached ();
diff --git a/plugins/itip-formatter/itip-view.c b/plugins/itip-formatter/itip-view.c
index 018ae98f00..c92ac60fa8 100644
--- a/plugins/itip-formatter/itip-view.c
+++ b/plugins/itip-formatter/itip-view.c
@@ -943,7 +943,7 @@ source_changed_cb (WebKitDOMElement *select,
source = itip_view_get_source (view);
- d(printf("Source changed to '%s'\n", e_source_peek_name (source)));
+ d(printf("Source changed to '%s'\n", e_source_get_display_name (source)));
g_signal_emit (view, signals[SOURCE_SELECTED], 0, source);
}
@@ -2207,13 +2207,13 @@ source_list_changed_cb (ESourceList *source_list,
view->priv->dom_document, "OPTION", NULL);
webkit_dom_html_option_element_set_value (
WEBKIT_DOM_HTML_OPTION_ELEMENT (option),
- e_source_peek_uid (source));
+ e_source_get_uid (source));
webkit_dom_html_option_element_set_label (
WEBKIT_DOM_HTML_OPTION_ELEMENT (option),
- e_source_peek_name (source));
+ e_source_get_display_name (source));
webkit_dom_html_element_set_inner_html (
WEBKIT_DOM_HTML_ELEMENT (option),
- e_source_peek_name (source), NULL);
+ e_source_get_display_name (source), NULL);
webkit_dom_html_element_set_class_name (
WEBKIT_DOM_HTML_ELEMENT (option), "calendar");
@@ -2271,7 +2271,7 @@ itip_view_set_source (ItipView *view,
g_return_if_fail (ITIP_IS_VIEW (view));
- d(printf("Settings default source '%s'\n", e_source_peek_name (source)));
+ d(printf("Settings default source '%s'\n", e_source_get_display_name (source)));
if (!view->priv->dom_document)
return;
@@ -2312,7 +2312,7 @@ itip_view_set_source (ItipView *view,
option = WEBKIT_DOM_HTML_OPTION_ELEMENT (node);
value = webkit_dom_html_option_element_get_value (option);
- if (g_strcmp0 (value, e_source_peek_uid (source)) == 0) {
+ if (g_strcmp0 (value, e_source_get_uid (source)) == 0) {
webkit_dom_html_option_element_set_selected (
option, TRUE);
diff --git a/plugins/pst-import/pst-importer.c b/plugins/pst-import/pst-importer.c
index e86fa2ab81..abea9be61d 100644
--- a/plugins/pst-import/pst-importer.c
+++ b/plugins/pst-import/pst-importer.c
@@ -666,7 +666,7 @@ open_client (PstImporter *m,
combo = g_datalist_get_data (&m->target->data, get_source_combo_key (source_type));
g_return_if_fail (combo != NULL);
- source = e_source_combo_box_get_active (combo);
+ source = e_source_combo_box_ref_active (combo);
g_return_if_fail (source != NULL);
m->waiting_open++;
@@ -675,6 +675,8 @@ open_client (PstImporter *m,
source, source_type, FALSE, m->cancellable,
e_client_utils_authenticate_handler, NULL,
client_opened_cb, m);
+
+ g_object_unref (source);
}
static void
diff --git a/plugins/publish-calendar/url-editor-dialog.c b/plugins/publish-calendar/url-editor-dialog.c
index db3dd28bdc..2d9efb6380 100644
--- a/plugins/publish-calendar/url-editor-dialog.c
+++ b/plugins/publish-calendar/url-editor-dialog.c
@@ -589,7 +589,7 @@ url_editor_dialog_run (UrlEditorDialog *dialog)
l = e_source_selector_get_selection (E_SOURCE_SELECTOR (dialog->events_selector));
for (p = l; p; p = g_slist_next (p))
- dialog->uri->events = g_slist_append (dialog->uri->events, g_strdup (e_source_peek_uid (p->data)));
+ dialog->uri->events = g_slist_append (dialog->uri->events, g_strdup (e_source_get_uid (p->data)));
}
gtk_widget_hide (GTK_WIDGET (dialog));
diff --git a/plugins/save-calendar/csv-format.c b/plugins/save-calendar/csv-format.c
index f9d97fcf68..021123d7fd 100644
--- a/plugins/save-calendar/csv-format.c
+++ b/plugins/save-calendar/csv-format.c
@@ -337,14 +337,14 @@ do_save_calendar_csv (FormatHandler *handler,
if (!dest_uri)
return;
- primary_source = e_source_selector_get_primary_selection (selector);
-
/* open source client */
+ primary_source = e_source_selector_ref_primary_selection (selector);
source_client = e_cal_client_new (primary_source, type, &error);
if (source_client)
g_signal_connect (
source_client, "authenticate",
G_CALLBACK (e_client_utils_authenticate_handler), NULL);
+ g_object_unref (primary_source);
if (!source_client || !e_client_open_sync (E_CLIENT (source_client), TRUE, NULL, &error)) {
display_error_message (
diff --git a/plugins/save-calendar/ical-format.c b/plugins/save-calendar/ical-format.c
index 77e5558e29..47cc15f9d7 100644
--- a/plugins/save-calendar/ical-format.c
+++ b/plugins/save-calendar/ical-format.c
@@ -97,17 +97,17 @@ do_save_calendar_ical (FormatHandler *handler,
GSList *objects = NULL;
icalcomponent *top_level = NULL;
- primary_source = e_source_selector_get_primary_selection (selector);
-
if (!dest_uri)
return;
/* open source client */
+ primary_source = e_source_selector_ref_primary_selection (selector);
source_client = e_cal_client_new (primary_source, type, &error);
if (source_client)
g_signal_connect (
source_client, "authenticate",
G_CALLBACK (e_client_utils_authenticate_handler), NULL);
+ g_object_unref (primary_source);
if (!source_client || !e_client_open_sync (E_CLIENT (source_client), TRUE, NULL, &error)) {
display_error_message (gtk_widget_get_toplevel (GTK_WIDGET (selector)), error->message);
diff --git a/plugins/save-calendar/rdf-format.c b/plugins/save-calendar/rdf-format.c
index 11c29fa854..2e2e92e19a 100644
--- a/plugins/save-calendar/rdf-format.c
+++ b/plugins/save-calendar/rdf-format.c
@@ -26,6 +26,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
+#include <gconf/gconf-client.h>
#include <libedataserver/e-source.h>
#include <libedataserverui/e-client-utils.h>
#include <libedataserverui/e-source-selector.h>
@@ -201,14 +202,14 @@ do_save_calendar_rdf (FormatHandler *handler,
if (!dest_uri)
return;
- primary_source = e_source_selector_get_primary_selection (selector);
-
/* open source client */
+ primary_source = e_source_selector_ref_primary_selection (selector);
source_client = e_cal_client_new (primary_source, type, &error);
if (source_client)
g_signal_connect (
source_client, "authenticate",
G_CALLBACK (e_client_utils_authenticate_handler), NULL);
+ g_object_unref (primary_source);
if (!source_client || !e_client_open_sync (E_CLIENT (source_client), TRUE, NULL, &error)) {
display_error_message (gtk_widget_get_toplevel (GTK_WIDGET (selector)), error);
@@ -249,9 +250,9 @@ do_save_calendar_rdf (FormatHandler *handler,
xmlNewChild (fnode, NULL, (const guchar *)"method", (const guchar *)"PUBLISH");
- xmlNewChild (fnode, NULL, (const guchar *)"x-wr:relcalid", (guchar *)e_source_peek_uid (primary_source));
+ xmlNewChild (fnode, NULL, (const guchar *)"x-wr:relcalid", (guchar *)e_source_get_uid (primary_source));
- xmlNewChild (fnode, NULL, (const guchar *)"x-wr:calname", (guchar *)e_source_peek_name (primary_source));
+ xmlNewChild (fnode, NULL, (const guchar *)"x-wr:calname", (guchar *)e_source_get_display_name (primary_source));
/* Version of this RDF-format */
xmlNewChild (fnode, NULL, (const guchar *)"version", (const guchar *)"2.0");
diff --git a/shell/e-shell-migrate.c b/shell/e-shell-migrate.c
index 468d8733b0..69929a14b1 100644
--- a/shell/e-shell-migrate.c
+++ b/shell/e-shell-migrate.c
@@ -837,8 +837,8 @@ merge_duplicate_local_sources (GConfClient *client,
continue;
/* pretty unlikely, but just in case */
- val1 = e_source_peek_uid (dupe_source);
- val2 = e_source_peek_uid (my_source);
+ val1 = e_source_get_uid (dupe_source);
+ val2 = e_source_get_uid (my_source);
if (g_strcmp0 (val1, val2) == 0)
break;
@@ -876,7 +876,7 @@ merge_duplicate_local_sources (GConfClient *client,
relative_uri = e_source_peek_relative_uri (source);
if (!relative_uri || !*relative_uri)
- e_source_set_relative_uri (source, e_source_peek_uid (source));
+ e_source_set_relative_uri (source, e_source_get_uid (source));
}
}