diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2005-06-06 09:53:45 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-06-06 09:53:45 (GMT) |
commit | 2145e8deca567c91cf08132160f0ab3794fa382e (patch) | |
tree | 55f441844ddd7c462f49b5a2d32d43455b03fd3e /backend | |
parent | 9f3860c715d418bc4af69e0409714a6d58677839 (diff) |
Use a const to return title so that we dont double free it. Small cleanup
2005-06-06 Marco Pesenti Gritti <mpg@redhat.com>
* backend/ev-page-cache.c: (_ev_page_cache_new):
* backend/ev-page-cache.h:
Use a const to return title so that we dont double
free it. Small cleanup and fix a leak.
* shell/ev-window.c: (update_window_title):
strdup value from get_title.
Diffstat (limited to 'backend')
-rw-r--r-- | backend/ev-page-cache.c | 12 | ||||
-rw-r--r-- | backend/ev-page-cache.h | 2 |
2 files changed, 5 insertions, 9 deletions
diff --git a/backend/ev-page-cache.c b/backend/ev-page-cache.c index 17cd641..573e57e 100644 --- a/backend/ev-page-cache.c +++ b/backend/ev-page-cache.c @@ -103,7 +103,6 @@ ev_page_cache_finalize (GObject *object) EvPageCache * _ev_page_cache_new (EvDocument *document) { - EvDocumentInfo *doc_info; EvPageCache *page_cache; EvPageCacheInfo *info; gint i; @@ -122,14 +121,13 @@ _ev_page_cache_new (EvDocument *document) page_cache->page_labels = g_new0 (char *, page_cache->n_pages); page_cache->max_width = 0; page_cache->max_height = 0; + page_cache->page_info = ev_document_get_info (document); - doc_info = ev_document_get_info (document); - if (doc_info->fields_mask & EV_DOCUMENT_INFO_TITLE) { - page_cache->title = g_strdup (doc_info->title); + if (page_cache->page_info->fields_mask & EV_DOCUMENT_INFO_TITLE) { + page_cache->title = g_strdup (page_cache->page_info->title); } else { page_cache->title = NULL; } - g_free (doc_info); for (i = 0; i < page_cache->n_pages; i++) { double page_width = 0; @@ -222,8 +220,6 @@ _ev_page_cache_new (EvDocument *document) } } - page_cache->page_info = ev_document_get_info (document); - /* make some sanity check assertions */ if (! page_cache->uniform) g_assert (page_cache->size_cache != NULL); @@ -317,7 +313,7 @@ ev_page_cache_set_link (EvPageCache *page_cache, ev_page_cache_set_current_page (page_cache, ev_link_get_page (link)); } -char * +const char * ev_page_cache_get_title (EvPageCache *page_cache) { g_return_val_if_fail (EV_IS_PAGE_CACHE (page_cache), NULL); diff --git a/backend/ev-page-cache.h b/backend/ev-page-cache.h index 053fd36..9de48b8 100644 --- a/backend/ev-page-cache.h +++ b/backend/ev-page-cache.h @@ -33,7 +33,7 @@ GType ev_page_cache_get_type (void) G_GNUC_CONST; /* Used by ev-document.c only */ EvPageCache *_ev_page_cache_new (EvDocument *document); gint ev_page_cache_get_n_pages (EvPageCache *page_cache); -char *ev_page_cache_get_title (EvPageCache *page_cache); +const char *ev_page_cache_get_title (EvPageCache *page_cache); void ev_page_cache_get_size (EvPageCache *page_cache, gint page, gfloat scale, |