diff options
author | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-18 19:22:00 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-18 19:22:00 (GMT) |
commit | f302b9a420aaf02e5805b3225ce4fef5a63e9b67 (patch) | |
tree | 1465b37364970f800216e8918a1675de047a5c1e /shell/ev-sidebar.c | |
parent | 6f98f83c02032b7f164fa6a497ad8069f60bf642 (diff) |
Fixed lot's of memory leaks, for example, memory leak on reload, described
* shell/ev-page-action.c: (match_selected_cb),
(display_completion_text), (match_completion), (update_model):
* shell/ev-sidebar-links.c: (ev_sidebar_links_dispose),
(expand_open_links):
* shell/ev-sidebar.c: (ev_sidebar_destroy),
(ev_sidebar_menu_item_activate_cb), (ev_sidebar_add_page),
(ev_sidebar_set_document):
* shell/ev-window.c: (ev_window_xfer_job_cb),
(sidebar_widget_model_set), (sidebar_page_main_widget_update_cb):
Fixed lot's of memory leaks, for example, memory leak on reload,
described in bug 307793.
Diffstat (limited to 'shell/ev-sidebar.c')
-rw-r--r-- | shell/ev-sidebar.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/shell/ev-sidebar.c b/shell/ev-sidebar.c index f687d10..12bd171 100644 --- a/shell/ev-sidebar.c +++ b/shell/ev-sidebar.c @@ -65,6 +65,12 @@ ev_sidebar_destroy (GtkObject *object) gtk_menu_detach (GTK_MENU (ev_sidebar->priv->menu)); ev_sidebar->priv->menu = NULL; } + + if (ev_sidebar->priv->page_model) { + g_object_unref (ev_sidebar->priv->page_model); + ev_sidebar->priv->page_model = NULL; + } + (* GTK_OBJECT_CLASS (ev_sidebar_parent_class)->destroy) (object); } @@ -217,6 +223,8 @@ ev_sidebar_menu_item_activate_cb (GtkWidget *widget, } else { valid = gtk_tree_model_iter_next (ev_sidebar->priv->page_model, &iter); } + g_object_unref (item); + g_free (title); } } @@ -365,6 +373,7 @@ ev_sidebar_add_page (EvSidebar *ev_sidebar, gtk_label_set_text (GTK_LABEL (ev_sidebar->priv->label), label_title); gtk_notebook_set_current_page (GTK_NOTEBOOK (ev_sidebar->priv->notebook), index); + g_free (label_title); } void @@ -401,6 +410,8 @@ ev_sidebar_set_document (EvSidebar *sidebar, } else { gtk_widget_set_sensitive (menu_widget, FALSE); } + g_object_unref (widget); + g_object_unref (menu_widget); } if (!has_pages) { |