From c1f3e5432aab231b1e565e9a79e065abf622d4a7 Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Fri, 25 Aug 2000 18:41:45 +0000 Subject: Ref a few things that need it. Avoid triggering some assertions. svn path=/trunk/; revision=5039 --- shell/ChangeLog | 13 +++++++++++++ shell/e-shell-folder-title-bar.c | 3 ++- shell/e-shell-view.c | 6 ++++-- shell/e-shell.c | 5 ++++- 4 files changed, 23 insertions(+), 4 deletions(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 7276359dd1..88e98c311e 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,16 @@ +2000-08-25 Peter Williams + + Silence some obvious assertions. + + * e-shell.c (e_shell_construct): Ref our shortcut bar to + sink it. Same with the folder_type_registry. + + * e-shell-folder-title-bar.c (destroy): Only attempt to unref + priv->icon if nonnull. + + * e-shell-view.c (update_folder_title_bar): Don't attempt to set + the folder_icon/_name if they're NULL. + 2000-08-24 Ettore Perazzoli * evolution-shell-component-client.c diff --git a/shell/e-shell-folder-title-bar.c b/shell/e-shell-folder-title-bar.c index 00d0e70e98..c58b1b1eeb 100644 --- a/shell/e-shell-folder-title-bar.c +++ b/shell/e-shell-folder-title-bar.c @@ -292,7 +292,8 @@ destroy (GtkObject *object) folder_title_bar = E_SHELL_FOLDER_TITLE_BAR (object); priv = folder_title_bar->priv; - gdk_pixbuf_unref (priv->icon); + if (priv->icon) + gdk_pixbuf_unref (priv->icon); g_free (priv); (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index c7bc911aad..be0845da32 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -850,8 +850,10 @@ update_folder_title_bar (EShellView *shell_view, folder_name = e_folder_get_name (folder); } - e_shell_folder_title_bar_set_icon (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), folder_icon); - e_shell_folder_title_bar_set_title (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), folder_name); + if (folder_icon) + e_shell_folder_title_bar_set_icon (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), folder_icon); + if (folder_name) + e_shell_folder_title_bar_set_title (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), folder_name); } static void diff --git a/shell/e-shell.c b/shell/e-shell.c index 26a556de96..f2a5554103 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -487,7 +487,8 @@ e_shell_construct (EShell *shell, priv->folder_type_registry = e_folder_type_registry_new (); priv->storage_set = e_storage_set_new (shell->priv->folder_type_registry); - gtk_object_ref (GTK_OBJECT (priv->storage_set )); + gtk_object_ref (GTK_OBJECT (priv->folder_type_registry)); + gtk_object_ref (GTK_OBJECT (priv->storage_set)); /* CORBA storages must be set up before the components, because otherwise components cannot register their own storages. */ @@ -506,6 +507,8 @@ e_shell_construct (EShell *shell, if (priv->shortcuts == NULL) g_warning ("Cannot load shortcuts -- %s", shortcut_path); + else + gtk_object_ref (GTK_OBJECT (priv->shortcuts)); g_free (shortcut_path); } -- cgit v1.2.3