diff options
Diffstat (limited to 'fpdfsdk/fsdk_actionhandler.cpp')
-rw-r--r-- | fpdfsdk/fsdk_actionhandler.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/fpdfsdk/fsdk_actionhandler.cpp b/fpdfsdk/fsdk_actionhandler.cpp index dc99f32f34..16724d5ac4 100644 --- a/fpdfsdk/fsdk_actionhandler.cpp +++ b/fpdfsdk/fsdk_actionhandler.cpp @@ -7,6 +7,7 @@ #include "fpdfsdk/fsdk_actionhandler.h" #include <set> +#include <vector> #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfdoc/cpdf_formfield.h" @@ -420,19 +421,13 @@ void CPDFSDK_ActionHandler::DoAction_GoTo( int nPageIndex = MyDest.GetPageIndex(pPDFDocument); int nFitType = MyDest.GetZoomMode(); const CPDF_Array* pMyArray = ToArray(MyDest.GetObject()); - float* pPosAry = nullptr; - int sizeOfAry = 0; + std::vector<float> posArray; if (pMyArray) { - pPosAry = new float[pMyArray->GetCount()]; - int j = 0; - for (size_t i = 2; i < pMyArray->GetCount(); i++) { - pPosAry[j++] = pMyArray->GetFloatAt(i); - } - sizeOfAry = j; + for (size_t i = 2; i < pMyArray->GetCount(); i++) + posArray.push_back(pMyArray->GetFloatAt(i)); } - - pFormFillEnv->DoGoToAction(nPageIndex, nFitType, pPosAry, sizeOfAry); - delete[] pPosAry; + pFormFillEnv->DoGoToAction(nPageIndex, nFitType, posArray.data(), + posArray.size()); } void CPDFSDK_ActionHandler::DoAction_GoToR( |