2006-09-21 Kristian Høgsberg <krh@redhat.com>
* glib/poppler-page.cc (_poppler_page_new): Make PopplerPage
reference its document throughout the lifetime of the page (#7005).
diff --git a/ChangeLog b/ChangeLog
index e79becb..1cc6635 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2006-09-21 Kristian Høgsberg <krh@redhat.com>
+ * glib/poppler-page.cc (_poppler_page_new): Make PopplerPage
+ reference its document throughout the lifetime of the page (#7005).
+
* poppler/Gfx.cc: Remove the right out->updateAll() call.
2006-09-20 Kristian Høgsberg <krh@redhat.com>
diff --git a/glib/poppler-page.cc b/glib/poppler-page.cc
index e2ef975..83d7b3b 100644
--- a/glib/poppler-page.cc
+++ b/glib/poppler-page.cc
@@ -53,7 +53,7 @@
g_return_val_if_fail (POPPLER_IS_DOCUMENT (document), NULL);
poppler_page = (PopplerPage *) g_object_new (POPPLER_TYPE_PAGE, NULL, NULL);
- poppler_page->document = document;
+ poppler_page->document = (PopplerDocument *) g_object_ref (document);
poppler_page->page = page;
poppler_page->index = index;
@@ -65,6 +65,9 @@
{
PopplerPage *page = POPPLER_PAGE (object);
+ g_object_unref (page->document);
+ page->document = NULL;
+
if (page->gfx != NULL)
delete page->gfx;
if (page->text_dev != NULL)