diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-07-26 19:06:06 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-26 19:06:06 +0000 |
commit | 4ef943b992782d930a7550b98e3d0389886a0ba3 (patch) | |
tree | bc063c260a73bc83fbbb77b9bce59d8d97f28965 /fpdfsdk/cpdfsdk_interform.cpp | |
parent | 2daa06ab9596a42c967497c2bae16ddd902dcaf0 (diff) | |
download | pdfium-4ef943b992782d930a7550b98e3d0389886a0ba3.tar.xz |
Be more careful casting to widget subclasses.
Part of the effort to reduce unchecked static casts.
Change-Id: I1bff1c53aa7c5804660de4b65cf01523d70fcbb7
Reviewed-on: https://pdfium-review.googlesource.com/38896
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'fpdfsdk/cpdfsdk_interform.cpp')
-rw-r--r-- | fpdfsdk/cpdfsdk_interform.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp index 9d646b6574..3cfc84dfd9 100644 --- a/fpdfsdk/cpdfsdk_interform.cpp +++ b/fpdfsdk/cpdfsdk_interform.cpp @@ -111,10 +111,8 @@ CPDFSDK_Widget* CPDFSDK_InterForm::GetSibling(CPDFSDK_Widget* pWidget, auto pIterator = pdfium::MakeUnique<CPDFSDK_AnnotIterator>( pWidget->GetPageView(), CPDF_Annot::Subtype::WIDGET); - if (bNext) - return static_cast<CPDFSDK_Widget*>(pIterator->GetNextAnnot(pWidget)); - - return static_cast<CPDFSDK_Widget*>(pIterator->GetPrevAnnot(pWidget)); + return ToCPDFSDKWidget(bNext ? pIterator->GetNextAnnot(pWidget) + : pIterator->GetPrevAnnot(pWidget)); } CPDFSDK_Widget* CPDFSDK_InterForm::GetWidget(CPDF_FormControl* pControl) const { @@ -144,10 +142,7 @@ CPDFSDK_Widget* CPDFSDK_InterForm::GetWidget(CPDF_FormControl* pControl) const { pPage = m_pFormFillEnv->GetPageView(nPageIndex); } - if (!pPage) - return nullptr; - - return static_cast<CPDFSDK_Widget*>(pPage->GetAnnotByDict(pControlDict)); + return pPage ? ToCPDFSDKWidget(pPage->GetAnnotByDict(pControlDict)) : nullptr; } void CPDFSDK_InterForm::GetWidgets( |