From 6a5b5ccde091db0561c515197e2177e3626b7577 Mon Sep 17 00:00:00 2001
From: SVN-Git Migration <python-modules-team@lists.alioth.debian.org>
Date: Thu, 8 Oct 2015 12:42:14 -0700
Subject: Python-poppler leaks memory while openinig/closing files.

 Needed for pdfshuffler poppler 0.18 transition,
   http://bugs.debian.org/660937
Origin: https://bugs.launchpad.net/poppler-python/+bug/316722
Bug-Ubuntu: https://bugs.launchpad.net/poppler-python/+bug/316722
Forwarded: yes
Last-Update: 2012-04-22

Patch-Name: 04-closefiles.diff
---
 poppler.defs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/poppler.defs b/poppler.defs
index 595807b..e5c584a 100644
--- a/poppler.defs
+++ b/poppler.defs
@@ -923,6 +923,7 @@
 
 (define-function document_new_from_file
   (c-name "poppler_document_new_from_file")
+  (caller-owns-return #t)
   (return-type "PopplerDocument*")
   (parameters
     '("const-char*" "uri")
@@ -933,6 +934,7 @@
 
 (define-function document_new_from_data
   (c-name "poppler_document_new_from_data")
+  (caller-owns-return #t)
   (return-type "PopplerDocument*")
   (parameters
     '("char*" "data")
@@ -971,6 +973,7 @@
 (define-method get_page
   (of-object "PopplerDocument")
   (c-name "poppler_document_get_page")
+  (caller-owns-return #t)
   (return-type "PopplerPage*")
   (parameters
     '("int" "index")
@@ -980,6 +983,7 @@
 (define-method get_page_by_label
   (of-object "PopplerDocument")
   (c-name "poppler_document_get_page_by_label")
+  (caller-owns-return #t)
   (return-type "PopplerPage*")
   (parameters
     '("const-char*" "label")
@@ -1001,6 +1005,7 @@
 (define-method find_dest
   (of-object "PopplerDocument")
   (c-name "poppler_document_find_dest")
+  (caller-owns-return #t)
   (return-type "PopplerDest*")
   (parameters
     '("const-gchar*" "link_name")
@@ -1010,6 +1015,7 @@
 (define-method get_form_field
   (of-object "PopplerDocument")
   (c-name "poppler_document_get_form_field")
+  (caller-owns-return #t)
   (return-type "PopplerFormField*")
   (parameters
     '("gint" "id")
@@ -1057,6 +1063,7 @@
 (define-method get_action
   (of-object "PopplerIndexIter")
   (c-name "poppler_index_iter_get_action")
+  (caller-owns-return #t)
   (return-type "PopplerAction*")
 )
 
