diff options
author | Milan Crha <mcrha@redhat.com> | 2011-06-24 00:30:36 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:42:32 +0800 |
commit | 54e056e2ddd661e589ccbc31b3faa2999631175e (patch) | |
tree | 42c18758598ee6f6973800ddff890a3cc56424e3 /calendar/gui/dialogs/alarm-dialog.c | |
parent | aa1c135937b7c533ff8b599cf6009a4507afb51c (diff) | |
download | gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar.gz gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar.bz2 gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar.lz gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar.xz gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.tar.zst gsoc2013-evolution-54e056e2ddd661e589ccbc31b3faa2999631175e.zip |
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.
Diffstat (limited to 'calendar/gui/dialogs/alarm-dialog.c')
-rw-r--r-- | calendar/gui/dialogs/alarm-dialog.c | 5 |
1 files changed, 5 insertions, 0 deletions
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); |