Commit 3575c0623a50fbcc2f358b20649015c328180c51

Authored by m-holger
1 parent c9b54e3c

Extend `Members` constructor in `QPDFWriter` to accept `QPDFWriter` reference an…

…d update initialization logic accordingly.
Showing 1 changed file with 6 additions and 4 deletions
libqpdf/QPDFWriter.cc
@@ -265,7 +265,8 @@ class QPDFWriter::Members @@ -265,7 +265,8 @@ class QPDFWriter::Members
265 friend class QPDFWriter; 265 friend class QPDFWriter;
266 266
267 public: 267 public:
268 - Members(QPDF& pdf) : 268 + Members(QPDFWriter& w, QPDF& pdf) :
  269 + w(w),
269 pdf(pdf), 270 pdf(pdf),
270 root_og( 271 root_og(
271 pdf.getRoot().getObjGen().isIndirect() ? pdf.getRoot().getObjGen() : QPDFObjGen(-1, 0)), 272 pdf.getRoot().getObjGen().isIndirect() ? pdf.getRoot().getObjGen() : QPDFObjGen(-1, 0)),
@@ -284,6 +285,7 @@ class QPDFWriter::Members @@ -284,6 +285,7 @@ class QPDFWriter::Members
284 } 285 }
285 286
286 private: 287 private:
  288 + QPDFWriter& w;
287 QPDF& pdf; 289 QPDF& pdf;
288 QPDFObjGen root_og{-1, 0}; 290 QPDFObjGen root_og{-1, 0};
289 char const* filename{"unspecified"}; 291 char const* filename{"unspecified"};
@@ -355,18 +357,18 @@ class QPDFWriter::Members @@ -355,18 +357,18 @@ class QPDFWriter::Members
355 }; 357 };
356 358
357 QPDFWriter::QPDFWriter(QPDF& pdf) : 359 QPDFWriter::QPDFWriter(QPDF& pdf) :
358 - m(std::make_shared<Members>(pdf)) 360 + m(std::make_shared<Members>(*this, pdf))
359 { 361 {
360 } 362 }
361 363
362 QPDFWriter::QPDFWriter(QPDF& pdf, char const* filename) : 364 QPDFWriter::QPDFWriter(QPDF& pdf, char const* filename) :
363 - m(std::make_shared<Members>(pdf)) 365 + m(std::make_shared<Members>(*this, pdf))
364 { 366 {
365 setOutputFilename(filename); 367 setOutputFilename(filename);
366 } 368 }
367 369
368 QPDFWriter::QPDFWriter(QPDF& pdf, char const* description, FILE* file, bool close_file) : 370 QPDFWriter::QPDFWriter(QPDF& pdf, char const* description, FILE* file, bool close_file) :
369 - m(std::make_shared<Members>(pdf)) 371 + m(std::make_shared<Members>(*this, pdf))
370 { 372 {
371 setOutputFile(description, file, close_file); 373 setOutputFile(description, file, close_file);
372 } 374 }