summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript/Field.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2016-09-13 14:52:55 -0400
committerDan Sinclair <dsinclair@chromium.org>2016-09-13 14:52:55 -0400
commit0703fa810bc79a335ddfdab3e7661159caf88e2d (patch)
treeb5793cf84419aa426acf3b28cac6af9ef9fe55f8 /fpdfsdk/javascript/Field.cpp
parentccf7734cad06cb9383d55190d6cd6aa6ccc91ab2 (diff)
downloadpdfium-chromium/2840.tar.xz
[Merge to 54] Add observer for BAAnnots from Javascriptchromium/2840
This Cl moves the observer code from the CPDFSDK_Widget up into the CPDFSDK_Annot base class and then adds a second observer for CPDFSDK_BAAnnot objects. This allows us to attach an observer to the Annot javascript class which will update its internal pointer to the BAAnnot if the BAAnnot is destroyed by the CPDFSDK_PageView being destroyed. BUG=chromium:642307 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/2333383002 . Review-Url: https://codereview.chromium.org/2306663002
Diffstat (limited to 'fpdfsdk/javascript/Field.cpp')
-rw-r--r--fpdfsdk/javascript/Field.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index 0a184d8ef1..64c7735dcf 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -268,11 +268,12 @@ void Field::UpdateFormField(CPDFSDK_Document* pDocument,
int nFieldType = pFormField->GetFieldType();
if (nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_TEXTFIELD) {
- for (CPDFSDK_Widget* pWidget : widgets) {
+ for (CPDFSDK_Annot* pAnnot : widgets) {
FX_BOOL bFormatted = FALSE;
- CPDFSDK_Widget::Observer observer(&pWidget);
+ CPDFSDK_Widget* pWidget = static_cast<CPDFSDK_Widget*>(pAnnot);
+ CPDFSDK_Widget::Observer observer(&pAnnot);
CFX_WideString sValue = pWidget->OnFormat(bFormatted);
- if (pWidget) {
+ if (pAnnot) {
pWidget->ResetAppearance(bFormatted ? sValue.c_str() : nullptr,
FALSE);
}