Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2007-02-06 10:05:30 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2007-02-06 10:05:30 (GMT)
commit31fb044ff1dd30863ae70bcd320319f000f52f9e (patch)
tree057eb38c206222b81c7a7250077e7fd4c45b7c64 /shell
parent531db966e66aa1b1c1638fc5260e49334b808e9e (diff)
Add some checks and call parent_class->finalize. Fixes bug #404745.
2007-02-06 Carlos Garcia Campos <carlosgc@gnome.org> * shell/ev-page-cache.c: (ev_page_cache_finalize): Add some checks and call parent_class->finalize. Fixes bug #404745. svn path=/trunk/; revision=2299
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-page-cache.c36
1 files changed, 30 insertions, 6 deletions
diff --git a/shell/ev-page-cache.c b/shell/ev-page-cache.c
index 070df9d..0116452 100644
--- a/shell/ev-page-cache.c
+++ b/shell/ev-page-cache.c
@@ -108,13 +108,37 @@ ev_page_cache_finalize (GObject *object)
page_cache = EV_PAGE_CACHE (object);
- g_free (page_cache->title);
- g_free (page_cache->size_cache);
- g_free (page_cache->height_to_page);
- g_free (page_cache->dual_height_to_page);
- g_strfreev (page_cache->page_labels);
+ if (page_cache->title) {
+ g_free (page_cache->title);
+ page_cache->title = NULL;
+ }
+
+ if (page_cache->size_cache) {
+ g_free (page_cache->size_cache);
+ page_cache->size_cache = NULL;
+ }
+
+ if (page_cache->height_to_page) {
+ g_free (page_cache->height_to_page);
+ page_cache->height_to_page = NULL;
+ }
+
+ if (page_cache->dual_height_to_page) {
+ g_free (page_cache->dual_height_to_page);
+ page_cache->dual_height_to_page = NULL;
+ }
+
+ if (page_cache->page_labels) {
+ g_strfreev (page_cache->page_labels);
+ page_cache->page_labels = NULL;
+ }
+
+ if (page_cache->page_info) {
+ ev_document_info_free (page_cache->page_info);
+ page_cache->page_info = NULL;
+ }
- ev_document_info_free (page_cache->page_info);
+ G_OBJECT_CLASS (ev_page_cache_parent_class)->finalize (object);
}
static void