[evince] pdf: Fix saving annotations added to different pages
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince] pdf: Fix saving annotations added to different pages
- Date: Mon, 29 Aug 2011 14:42:54 +0000 (UTC)
commit e35a76afc2c8353a8146c051f7e0912c481ade6a
Author: Daniel GlÃckner <daniel-gl gmx net>
Date: Mon Aug 29 16:41:29 2011 +0200
pdf: Fix saving annotations added to different pages
Fixes bug #628378.
backend/pdf/ev-poppler.cc | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc
index 753fedc..ff9c561 100644
--- a/backend/pdf/ev-poppler.cc
+++ b/backend/pdf/ev-poppler.cc
@@ -2858,16 +2858,21 @@ pdf_document_annotations_add_annotation (EvDocumentAnnotations *document_annotat
if (pdf_document->annots) {
mapping_list = (EvMappingList *)g_hash_table_lookup (pdf_document->annots,
GINT_TO_POINTER (page->index));
+ } else {
+ pdf_document->annots = g_hash_table_new_full (g_direct_hash,
+ g_direct_equal,
+ (GDestroyNotify)NULL,
+ (GDestroyNotify)ev_mapping_list_unref);
+ mapping_list = NULL;
+ }
+
+ if (mapping_list) {
list = ev_mapping_list_get_list (mapping_list);
name = g_strdup_printf ("annot-%d-%d", page->index, g_list_length (list) + 1);
ev_annotation_set_name (annot, name);
g_free (name);
list = g_list_append (list, annot_mapping);
} else {
- pdf_document->annots = g_hash_table_new_full (g_direct_hash,
- g_direct_equal,
- (GDestroyNotify)NULL,
- (GDestroyNotify)ev_mapping_list_unref);
name = g_strdup_printf ("annot-%d-0", page->index);
ev_annotation_set_name (annot, name);
g_free (name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]