diff options
-rw-r--r-- | include/vcl/filter/PDFiumLibrary.hxx | 4 | ||||
-rw-r--r-- | vcl/source/pdf/PDFiumLibrary.cxx | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/vcl/filter/PDFiumLibrary.hxx b/include/vcl/filter/PDFiumLibrary.hxx index d65658769e84..5bd7e57eec5f 100644 --- a/include/vcl/filter/PDFiumLibrary.hxx +++ b/include/vcl/filter/PDFiumLibrary.hxx @@ -228,9 +228,9 @@ public: virtual std::vector<unsigned int> getTrailerEnds() = 0; }; -struct PDFiumLibrary final : public rtl::StaticWithInit<std::shared_ptr<PDFium>, PDFiumLibrary> +struct VCL_DLLPUBLIC PDFiumLibrary final { - std::shared_ptr<PDFium> operator()() { return std::make_shared<PDFium>(); } + static std::shared_ptr<PDFium>& get(); }; // Tools diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx index 232ed10cb9b6..617ea16cb6eb 100644 --- a/vcl/source/pdf/PDFiumLibrary.cxx +++ b/vcl/source/pdf/PDFiumLibrary.cxx @@ -1307,6 +1307,12 @@ int PDFiumSearchHandleImpl::getSearchResultIndex() int PDFiumSearchHandleImpl::getSearchCount() { return FPDFText_GetSchCount(mpSearchHandle); } +std::shared_ptr<PDFium>& PDFiumLibrary::get() +{ + static auto pInstance = std::make_shared<PDFium>(); + return pInstance; +} + } // end vcl::pdf #endif // HAVE_FEATURE_PDFIUM |