summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk')
-rw-r--r--fpdfsdk/fpdfview.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index 4c3631fc88..d4284a3217 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -33,6 +33,7 @@
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "public/fpdf_ext.h"
#include "public/fpdf_progressive.h"
+#include "third_party/base/allocator/partition_allocator/partition_alloc.h"
#include "third_party/base/numerics/safe_conversions_impl.h"
#include "third_party/base/ptr_util.h"
@@ -367,6 +368,14 @@ FPDF_InitLibraryWithConfig(const FPDF_LIBRARY_CONFIG* cfg) {
if (g_pCodecModule)
return;
+ static bool s_gPartitionAllocatorsInitialized = false;
+ if (!s_gPartitionAllocatorsInitialized) {
+ pdfium::base::PartitionAllocGlobalInit(FX_OutOfMemoryTerminate);
+ gArrayBufferPartitionAllocator.init();
+ gStringPartitionAllocator.init();
+ s_gPartitionAllocatorsInitialized = true;
+ }
+
g_pCodecModule = new CCodec_ModuleMgr();
CFX_GEModule* pModule = CFX_GEModule::Get();