diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-07-16 18:03:56 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-16 18:03:56 +0000 |
commit | fb709d88935ae85532679d225993741919b23a7b (patch) | |
tree | 8ad8a0e2153f63708a6472607f3f019609c89743 | |
parent | 98bae9c95d916f528ed1a394e68e02e39ad709fa (diff) | |
download | pdfium-fb709d88935ae85532679d225993741919b23a7b.tar.xz |
Process data changes regardless if they can be formatted
UI elements in XFA can have two different <picture> clauses with
different meanings. One is a formatting statement that dictates the
format the underlying data should appear in. The other <picture>
occurs within an <validate> block and specificies what format the
underlying should be. If it doesn't fit this <picture> the <validate>
block indicates what should occur.
In the existing code actually running the second <picture> type was
being conditionally guarded on whether of not the formatting of the
first type succeeded. This CL moves the calls related to data changing
earlier, to before the formatting and UI updating occurs.
BUG=pdfium:1065
Change-Id: Ib525c490074187c3272f4263ab451bf347b74f9c
Reviewed-on: https://pdfium-review.googlesource.com/37250
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
-rw-r--r-- | xfa/fxfa/cxfa_fffield.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp index 6f7aab899f..f3c1412361 100644 --- a/xfa/fxfa/cxfa_fffield.cpp +++ b/xfa/fxfa/cxfa_fffield.cpp @@ -613,14 +613,13 @@ bool CXFA_FFField::ProcessCommittedData() { return false; if (!IsDataChanged()) return false; - if (CalculateOverride() != 1) - return false; - if (!CommitData()) - return false; m_pDocView->SetChangeMark(); m_pDocView->AddValidateNode(m_pNode.Get()); - return true; + + if (CalculateOverride() != 1) + return false; + return CommitData(); } int32_t CXFA_FFField::CalculateOverride() { |