Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--shell/ev-view.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f7678d..1ecf9c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-06 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * shell/ev-view.c: (merge_selection_region), (clear_selection):
+
+ Fix memory leak. Fixes bug #555134.
+
2008-10-04 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-pixbuf-cache.c: (copy_job_to_job_info):
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 1685aee..d0acbae 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -5390,6 +5390,7 @@ merge_selection_region (EvView *view,
/* Update the selection */
old_list = ev_pixbuf_cache_get_selection_list (view->pixbuf_cache);
g_list_foreach (view->selection_info.selections, (GFunc)selection_free, NULL);
+ g_list_free (view->selection_info.selections);
view->selection_info.selections = new_list;
ev_pixbuf_cache_set_selection_list (view->pixbuf_cache, new_list);
g_object_notify (G_OBJECT (view), "has-selection");
@@ -5498,6 +5499,7 @@ merge_selection_region (EvView *view,
/* Free the old list, now that we're done with it. */
g_list_foreach (old_list, (GFunc) selection_free, NULL);
+ g_list_free (old_list);
}
static void
@@ -5529,6 +5531,7 @@ static void
clear_selection (EvView *view)
{
g_list_foreach (view->selection_info.selections, (GFunc)selection_free, NULL);
+ g_list_free (view->selection_info.selections);
view->selection_info.selections = NULL;
view->selection_info.in_selection = FALSE;
if (view->pixbuf_cache)