From e7971bb4f5f1d262a3f3af99f81c221a724131da Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Wed, 7 Jun 2000 17:01:52 +0000 Subject: Fixed a refcount leak and added interfaces to add/remove folders from an EStorage (although they are not implemented yet). svn path=/trunk/; revision=3460 --- shell/e-storage-set-view.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'shell/e-storage-set-view.c') diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c index 62b1cd20c6..989f6c5f62 100644 --- a/shell/e-storage-set-view.c +++ b/shell/e-storage-set-view.c @@ -759,29 +759,33 @@ e_storage_set_view_construct (EStorageSetView *storage_set_view, g_return_if_fail (E_IS_STORAGE_SET (storage_set)); ctree = GTK_CTREE (storage_set_view); + priv = storage_set_view->priv; /* Set up GtkCTree/GtkCList parameters. */ - gtk_ctree_construct (ctree, 1, 0, NULL); - gtk_ctree_set_line_style (ctree, GTK_CTREE_LINES_DOTTED); + gtk_ctree_construct (ctree, 1, 0, NULL); + gtk_ctree_set_line_style (ctree, GTK_CTREE_LINES_DOTTED); gtk_ctree_set_expander_style (ctree, GTK_CTREE_EXPANDER_SQUARE); - gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_BROWSE); - gtk_clist_set_row_height (GTK_CLIST (ctree), E_SHELL_MINI_ICON_SIZE); + + gtk_clist_set_selection_mode (GTK_CLIST (ctree), GTK_SELECTION_BROWSE); + gtk_clist_set_row_height (GTK_CLIST (ctree), E_SHELL_MINI_ICON_SIZE); gtk_clist_set_column_auto_resize (GTK_CLIST (ctree), 0, TRUE); - priv = storage_set_view->priv; - gtk_object_ref (GTK_OBJECT (storage_set)); priv->storage_set = storage_set; - gtk_signal_connect (GTK_OBJECT (storage_set), "new_storage", - GTK_SIGNAL_FUNC (new_storage_cb), storage_set_view); - gtk_signal_connect (GTK_OBJECT (storage_set), "removed_storage", - GTK_SIGNAL_FUNC (removed_storage_cb), storage_set_view); - gtk_signal_connect (GTK_OBJECT (storage_set), "new_folder", - GTK_SIGNAL_FUNC (new_folder_cb), storage_set_view); - gtk_signal_connect (GTK_OBJECT (storage_set), "removed_folder", - GTK_SIGNAL_FUNC (removed_folder_cb), storage_set_view); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "new_storage", + GTK_SIGNAL_FUNC (new_storage_cb), storage_set_view, + GTK_OBJECT (storage_set_view)); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "removed_storage", + GTK_SIGNAL_FUNC (removed_storage_cb), storage_set_view, + GTK_OBJECT (storage_set_view)); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "new_folder", + GTK_SIGNAL_FUNC (new_folder_cb), storage_set_view, + GTK_OBJECT (storage_set_view)); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "removed_folder", + GTK_SIGNAL_FUNC (removed_folder_cb), storage_set_view, + GTK_OBJECT (storage_set_view)); storage_list = e_storage_set_get_storage_list (storage_set); -- cgit v1.2.3