From 1fbfda671f3df4e0a8b72e3886350ac6bce9a806 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Fri, 25 Apr 2003 17:03:51 +0000 Subject: (async_open_cb): Added a missing unref of the storage in the closure. (async_open_folder_idle): Add the pending open to the pending open list before calling asyncOpenFolder, instead of after. svn path=/trunk/; revision=20968 --- shell/ChangeLog | 19 +++++++++++++------ shell/e-corba-storage.c | 7 ++++++- 2 files changed, 19 insertions(+), 7 deletions(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index a1006b768f..afd172af43 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,12 @@ +2003-04-25 Ettore Perazzoli + + [#41059] + + * e-corba-storage.c (async_open_cb): Added a missing unref of the + storage in the closure. + (async_open_folder_idle): Add the pending open to the pending open + list before calling asyncOpenFolder, instead of after. + 2003-04-23 Not Zed * e-local-storage.c (load_folder): cast to remove warning. @@ -6,19 +15,18 @@ 2003-04-22 Anna Marie Dirks - * e-shell-settings-dialog.c (init): Add appropriate padding + * e-shell-settings-dialog.c (init): Add appropriate padding to the Evolution Settings window. This is another bit of the fix for #41392. - * e-corba-config-page.c (e_corba_config_page_construct): Add + * e-corba-config-page.c (e_corba_config_page_construct): Add appropriate padding to the corba_config_page widget. Partial fix for #41392. - 2003-04-23 Anna Marie Dirks - *glade/e-folder-list.glade : replaced buttons with stock - buttons and added HIG-blessed spacing. Fixes 41145. + * glade/e-folder-list.glade: replaced buttons with stock buttons + and added HIG-blessed spacing. Fixes 41145. 2003-04-22 Anna Marie Dirks @@ -31,7 +39,6 @@ (rename_shortcut_cb): Corrected the label capitalization for Rename dialog. Fixes 41567. - 2003-04-21 Chris Toshok * e-folder-list.c (e_folder_list_parse_xml): this should never diff --git a/shell/e-corba-storage.c b/shell/e-corba-storage.c index 49ec7403ae..b7ab36c3f8 100644 --- a/shell/e-corba-storage.c +++ b/shell/e-corba-storage.c @@ -596,6 +596,7 @@ async_open_cb (BonoboListener *listener, const char *event_name, (* closure->callback) (closure->storage, result, closure->path, closure->data); if (closure != orig_closure) { + g_object_unref (orig_closure->storage); g_free (closure->path); g_free (closure); } @@ -636,6 +637,8 @@ async_open_folder_idle (gpointer data) listener = bonobo_listener_new (async_open_cb, closure); corba_listener = bonobo_object_corba_objref (BONOBO_OBJECT (listener)); + priv->pending_opens = g_list_prepend (priv->pending_opens, closure); + CORBA_exception_init (&ev); GNOME_Evolution_Storage_asyncOpenFolder (priv->storage_interface, closure->path, @@ -647,10 +650,12 @@ async_open_folder_idle (gpointer data) g_object_unref (closure->storage); g_free (closure->path); g_free (closure); + + priv->pending_opens = g_list_delete_link (priv->pending_opens, + priv->pending_opens); } CORBA_exception_free (&ev); - priv->pending_opens = g_list_prepend (priv->pending_opens, closure); return FALSE; } -- cgit v1.2.3