From d17a3af124c9e4fa218d5527910c0c9f22559a8f Mon Sep 17 00:00:00 2001 From: Jun Fang Date: Fri, 19 Feb 2016 08:54:02 +0800 Subject: Fix a crasher in CFDE_TxtEdtDoRecord_Insert::CFDE_TxtEdtDoRecord_Insert() If a widget is barcode, we should set the data length of barcode as the max length of input string. BUG=pdfium:372 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1703963003 . --- xfa/src/fxfa/src/app/xfa_fftextedit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xfa/src/fxfa/src/app/xfa_fftextedit.cpp b/xfa/src/fxfa/src/app/xfa_fftextedit.cpp index 0b5a70170e..2d2177b670 100644 --- a/xfa/src/fxfa/src/app/xfa_fftextedit.cpp +++ b/xfa/src/fxfa/src/app/xfa_fftextedit.cpp @@ -259,6 +259,13 @@ FX_BOOL CXFA_FFTextEdit::UpdateFWLData() { bUpdate = TRUE; } } + if (m_pDataAcc->GetUIType() == XFA_ELEMENT_Barcode) { + int32_t nDataLen = 0; + if (eType == XFA_VALUEPICTURE_Edit) + m_pDataAcc->GetBarcodeAttribute_DataLength(nDataLen); + static_cast(m_pNormalWidget)->SetLimit(nDataLen); + bUpdate = TRUE; + } CFX_WideString wsText; m_pDataAcc->GetValue(wsText, eType); CFX_WideString wsOldText; -- cgit v1.2.3