Blame SOURCES/qpdf-contents.patch

5597ae
diff -up qpdf-5.0.1/libqpdf/QPDFObjectHandle.cc.contents qpdf-5.0.1/libqpdf/QPDFObjectHandle.cc
5597ae
--- qpdf-5.0.1/libqpdf/QPDFObjectHandle.cc.contents	2020-01-17 12:54:04.170942606 +0100
5597ae
+++ qpdf-5.0.1/libqpdf/QPDFObjectHandle.cc	2020-01-17 12:55:17.944246296 +0100
5597ae
@@ -633,7 +633,7 @@ QPDFObjectHandle::getPageContents()
5597ae
     {
5597ae
 	result.push_back(contents);
5597ae
     }
5597ae
-    else
5597ae
+    else if (! contents.isNull())
5597ae
     {
5597ae
 	throw std::runtime_error("unknown object type inspecting /Contents "
5597ae
 				 "key in page dictionary");
5597ae
diff -up qpdf-5.0.1/qpdf/qtest/qpdf/page-no-content.out.contents qpdf-5.0.1/qpdf/qtest/qpdf/page-no-content.out
5597ae
--- qpdf-5.0.1/qpdf/qtest/qpdf/page-no-content.out.contents	2020-01-17 12:54:04.170942606 +0100
5597ae
+++ qpdf-5.0.1/qpdf/qtest/qpdf/page-no-content.out	2020-01-17 12:54:04.170942606 +0100
5597ae
@@ -0,0 +1,8 @@
5597ae
+page 1: 3 0 R
5597ae
+  content:
5597ae
+    6 0 R
5597ae
+page 2: 4 0 R
5597ae
+  content:
5597ae
+page 3: 5 0 R
5597ae
+  content:
5597ae
+    9 0 R
5597ae
diff -up qpdf-5.0.1/qpdf/qtest/qpdf.test.contents qpdf-5.0.1/qpdf/qtest/qpdf.test
5597ae
--- qpdf-5.0.1/qpdf/qtest/qpdf.test.contents	2013-10-18 19:51:30.000000000 +0200
5597ae
+++ qpdf-5.0.1/qpdf/qtest/qpdf.test	2020-01-17 12:54:04.171942598 +0100
5597ae
@@ -199,7 +199,7 @@ $td->runtest("remove page we don't have"
5597ae
 show_ntests();
5597ae
 # ----------
5597ae
 $td->notify("--- Miscellaneous Tests ---");
5597ae
-$n_tests += 70;
5597ae
+$n_tests += 71;
5597ae
 
5597ae
 $td->runtest("qpdf version",
5597ae
 	     {$td->COMMAND => "qpdf --version"},
5597ae
@@ -545,6 +545,11 @@ $td->runtest("sanity check array size",
5597ae
               $td->EXIT_STATUS => 2},
5597ae
              $td->NORMALIZE_NEWLINES);
5597ae
 
5597ae
+$td->runtest("handle page no with contents",
5597ae
+             {$td->COMMAND => "qpdf --show-pages page-no-content.pdf"},
5597ae
+             {$td->FILE => "page-no-content.out", $td->EXIT_STATUS => 0},
5597ae
+             $td->NORMALIZE_NEWLINES);
5597ae
+
5597ae
 show_ntests();
5597ae
 # ----------
5597ae
 $td->notify("--- Numeric range parsing tests ---");