OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "fpdfsdk/formfiller/cffl_textfield.h" | 7 #include "fpdfsdk/formfiller/cffl_textfield.h" |
8 | 8 |
9 #include "fpdfsdk/formfiller/cba_fontmap.h" | 9 #include "fpdfsdk/formfiller/cba_fontmap.h" |
10 #include "fpdfsdk/include/cpdfsdk_widget.h" | 10 #include "fpdfsdk/include/cpdfsdk_widget.h" |
11 #include "fpdfsdk/include/fsdk_common.h" | 11 #include "fpdfsdk/include/fsdk_common.h" |
12 #include "fpdfsdk/include/fsdk_mgr.h" | 12 #include "fpdfsdk/include/fsdk_mgr.h" |
13 | 13 |
14 CFFL_TextField::CFFL_TextField(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot) | 14 CFFL_TextField::CFFL_TextField(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot) |
15 : CFFL_FormFiller(pApp, pAnnot) {} | 15 : CFFL_FormFiller(pApp, pAnnot) {} |
16 | 16 |
17 CFFL_TextField::~CFFL_TextField() { | 17 CFFL_TextField::~CFFL_TextField() { |
18 for (const auto& it : m_Maps) | 18 for (const auto& it : m_Maps) |
19 it.second->InvalidateFocusHandler(this); | 19 it.second->InvalidateFocusHandler(this); |
| 20 |
| 21 // See comment in cffl_formfiller.h. |
| 22 // The font map should be stored somewhere more appropriate so it will live |
| 23 // until the PWL_Edit is done with it. pdfium:566 |
| 24 DestroyWindows(); |
20 } | 25 } |
21 | 26 |
22 PWL_CREATEPARAM CFFL_TextField::GetCreateParam() { | 27 PWL_CREATEPARAM CFFL_TextField::GetCreateParam() { |
23 PWL_CREATEPARAM cp = CFFL_FormFiller::GetCreateParam(); | 28 PWL_CREATEPARAM cp = CFFL_FormFiller::GetCreateParam(); |
24 | 29 |
25 int nFlags = m_pWidget->GetFieldFlags(); | 30 int nFlags = m_pWidget->GetFieldFlags(); |
26 | 31 |
27 if (nFlags & FIELDFLAG_PASSWORD) { | 32 if (nFlags & FIELDFLAG_PASSWORD) { |
28 cp.dwFlags |= PES_PASSWORD; | 33 cp.dwFlags |= PES_PASSWORD; |
29 } | 34 } |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 | 277 |
273 pEdit->SetReadyToInput(); | 278 pEdit->SetReadyToInput(); |
274 CFX_WideString wsText = pEdit->GetText(); | 279 CFX_WideString wsText = pEdit->GetText(); |
275 int nCharacters = wsText.GetLength(); | 280 int nCharacters = wsText.GetLength(); |
276 CFX_ByteString bsUTFText = wsText.UTF16LE_Encode(); | 281 CFX_ByteString bsUTFText = wsText.UTF16LE_Encode(); |
277 unsigned short* pBuffer = (unsigned short*)bsUTFText.c_str(); | 282 unsigned short* pBuffer = (unsigned short*)bsUTFText.c_str(); |
278 m_pApp->FFI_OnSetFieldInputFocus(m_pWidget->GetFormField(), pBuffer, | 283 m_pApp->FFI_OnSetFieldInputFocus(m_pWidget->GetFormField(), pBuffer, |
279 nCharacters, TRUE); | 284 nCharacters, TRUE); |
280 } | 285 } |
281 } | 286 } |
OLD | NEW |