Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-window.c
diff options
context:
space:
mode:
authorNickolay 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)
commitf302b9a420aaf02e5805b3225ce4fef5a63e9b67 (patch)
tree1465b37364970f800216e8918a1675de047a5c1e /shell/ev-window.c
parent6f98f83c02032b7f164fa6a497ad8069f60bf642 (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-window.c')
-rw-r--r--shell/ev-window.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c
index b9eb24e..10bdb9c 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -889,6 +889,7 @@ ev_window_xfer_job_cb (EvJobXfer *job,
G_CALLBACK (ev_window_load_job_cb),
ev_window);
ev_job_queue_add_job (ev_window->priv->load_job, EV_JOB_PRIORITY_HIGH);
+ g_object_unref (document);
}
}
@@ -2857,6 +2858,7 @@ sidebar_widget_model_set (EvSidebarLinks *ev_sidebar_links,
action = gtk_action_group_get_action (ev_window->priv->action_group, PAGE_SELECTOR_ACTION);
ev_page_action_set_model (EV_PAGE_ACTION (action), model);
+ g_object_unref (model);
}
@@ -2900,13 +2902,14 @@ sidebar_page_main_widget_update_cb (GObject *ev_sidebar_page,
g_object_get (ev_sidebar_page, "main_widget", &widget, NULL);
- if (widget != NULL) {
- g_signal_connect_object (widget, "focus_in_event",
- G_CALLBACK (view_actions_focus_in_cb),
+ if (widget != NULL) {
+ g_signal_connect_object (widget, "focus_in_event",
+ G_CALLBACK (view_actions_focus_in_cb),
ev_window, 0);
- g_signal_connect_object (widget, "focus_out_event",
- G_CALLBACK (view_actions_focus_out_cb),
+ g_signal_connect_object (widget, "focus_out_event",
+ G_CALLBACK (view_actions_focus_out_cb),
ev_window, 0);
+ g_object_unref (widget);
}
}