Index: fpdfsdk/src/fsdk_baseform.cpp |
diff --git a/fpdfsdk/src/fsdk_baseform.cpp b/fpdfsdk/src/fsdk_baseform.cpp |
index 86c43f1aa44bd86ecba641c4d418a283938239f4..723a25ba7ede263dbb7fcf2c5705fa2cf5b9a661 100644 |
--- a/fpdfsdk/src/fsdk_baseform.cpp |
+++ b/fpdfsdk/src/fsdk_baseform.cpp |
@@ -4,6 +4,7 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+#include "../../third_party/base/nonstd_unique_ptr.h" |
#include "../include/fsdk_define.h" |
#include "../include/fpdfxfa/fpdfxfa_doc.h" |
#include "../include/fpdfxfa/fpdfxfa_util.h" |
@@ -2459,22 +2460,13 @@ FX_BOOL CPDFSDK_InterForm::HighlightWidgets() |
CPDFSDK_Widget* CPDFSDK_InterForm::GetSibling(CPDFSDK_Widget* pWidget, FX_BOOL bNext) const |
{ |
- ASSERT(pWidget != NULL); |
- |
- CBA_AnnotIterator* pIterator = new CBA_AnnotIterator(pWidget->GetPageView(), "Widget", "");//XfA? |
- ASSERT(pIterator != NULL); |
- |
- CPDFSDK_Widget* pRet = NULL; |
- |
- if (bNext) |
- pRet = (CPDFSDK_Widget*)pIterator->GetNextAnnot(pWidget); |
- else |
- pRet = (CPDFSDK_Widget*)pIterator->GetPrevAnnot(pWidget); |
- |
- pIterator->Release(); |
- |
- return pRet; |
+ nonstd::unique_ptr<CBA_AnnotIterator> pIterator( |
+ new CBA_AnnotIterator(pWidget->GetPageView(), "Widget", "")); |
+ if (bNext) { |
+ return (CPDFSDK_Widget*)pIterator->GetNextAnnot(pWidget); |
+ } |
+ return (CPDFSDK_Widget*)pIterator->GetPrevAnnot(pWidget); |
} |
CPDFSDK_Widget* CPDFSDK_InterForm::GetWidget(CPDF_FormControl* pControl) const |