From 4778e69589b8d5fca5b59cdb664b8e6e39a4697f Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 23 Jun 2011 18:30:36 +0200 Subject: Postpone ENameSelector loading as much as possible Also fixes few memory leaks around ENameSelector and cancels loading of its address books when not needed any more. --- calendar/gui/dialogs/alarm-dialog.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'calendar/gui/dialogs/alarm-dialog.c') diff --git a/calendar/gui/dialogs/alarm-dialog.c b/calendar/gui/dialogs/alarm-dialog.c index 564c4dd1f4..ec57b11657 100644 --- a/calendar/gui/dialogs/alarm-dialog.c +++ b/calendar/gui/dialogs/alarm-dialog.c @@ -903,6 +903,7 @@ setup_select_names (Dialog *dialog) ENameSelectorDialog *name_selector_dialog; dialog->name_selector = e_name_selector_new (); + e_name_selector_load_books (dialog->name_selector); name_selector_model = e_name_selector_peek_model (dialog->name_selector); e_name_selector_model_add_section (name_selector_model, section_name, section_name, NULL); @@ -1229,6 +1230,10 @@ alarm_dialog_run (GtkWidget *parent, ECalClient *cal_client, ECalComponentAlarm if (response_id == GTK_RESPONSE_OK) dialog_to_alarm (&dialog); + if (dialog.name_selector) { + e_name_selector_cancel_loading (dialog.name_selector); + g_object_unref (dialog.name_selector); + } gtk_widget_destroy (dialog.toplevel); g_object_unref (dialog.builder); -- cgit v1.2.3