diff --git a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
index 348d5d1..a348d05 100644
--- a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
+++ b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp
@@ -256,6 +256,7 @@
   return pRet;
 }
 
+#ifdef PDF_ENABLE_XFA
 FX_BOOL CFFL_ComboBox::IsFieldFull(CPDFSDK_PageView* pPageView) {
   if (CPWL_ComboBox* pComboBox =
           static_cast<CPWL_ComboBox*>(GetPDFWindow(pPageView, FALSE))) {
@@ -265,6 +266,7 @@
   return FALSE;
 }
 
+#endif
 void CFFL_ComboBox::OnSetFocus(CPWL_Wnd* pWnd) {
   ASSERT(m_pApp != NULL);
 
diff --git a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
index 9817f05..867bda0 100644
--- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp
@@ -562,10 +562,12 @@
 
 void CFFL_FormFiller::SaveData(CPDFSDK_PageView* pPageView) {}
 
+#ifdef PDF_ENABLE_XFA
 FX_BOOL CFFL_FormFiller::IsFieldFull(CPDFSDK_PageView* pPageView) {
   return FALSE;
 }
 
+#endif
 void CFFL_FormFiller::SetChangeMark() {
   m_pApp->FFI_OnChange();
 }
diff --git a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
index a12d84e..3257faa 100644
--- a/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
+++ b/fpdfsdk/src/formfiller/FFL_IFormFiller.cpp
@@ -277,10 +277,12 @@
     OnButtonUp(pWidget, pPageView, bReset, bExit, nFlags);
     if (bExit)
       return TRUE;
+#ifdef PDF_ENABLE_XFA
 
     OnClick(pWidget, pPageView, bReset, bExit, nFlags);
     if (bExit)
       return TRUE;
+#endif
   }
   return bRet;
 }
@@ -796,6 +798,7 @@
   }
 }
 
+#ifdef PDF_ENABLE_XFA
 void CFFL_IFormFiller::OnClick(CPDFSDK_Widget* pWidget,
                                CPDFSDK_PageView* pPageView,
                                FX_BOOL& bReset,
@@ -978,6 +981,7 @@
   }
 }
 
+#endif
 FX_BOOL CFFL_IFormFiller::IsValidAnnot(CPDFSDK_PageView* pPageView,
                                        CPDFSDK_Annot* pAnnot) {
   if (pPageView)
@@ -1002,6 +1006,7 @@
   CFFL_FormFiller* pFormFiller = GetFormFiller(pData->pWidget, FALSE);
   ASSERT(pFormFiller != NULL);
 
+#ifdef PDF_ENABLE_XFA
   if (pFormFiller->IsFieldFull(pData->pPageView)) {
     FX_BOOL bFullExit = FALSE;
     FX_BOOL bFullReset = FALSE;
@@ -1013,6 +1018,7 @@
     }
   }
 
+#endif
   if (!m_bNotifying) {
     if (pData->pWidget->GetAAction(CPDF_AAction::KeyStroke)) {
       m_bNotifying = TRUE;
diff --git a/fpdfsdk/src/formfiller/FFL_TextField.cpp b/fpdfsdk/src/formfiller/FFL_TextField.cpp
index 3c0cdeb..2962451 100644
--- a/fpdfsdk/src/formfiller/FFL_TextField.cpp
+++ b/fpdfsdk/src/formfiller/FFL_TextField.cpp
@@ -268,6 +268,7 @@
   return pRet;
 }
 
+#ifdef PDF_ENABLE_XFA
 FX_BOOL CFFL_TextField::IsFieldFull(CPDFSDK_PageView* pPageView) {
   if (CPWL_Edit* pWnd = (CPWL_Edit*)GetPDFWindow(pPageView, FALSE)) {
     return pWnd->IsTextFull();
@@ -276,6 +277,7 @@
   return FALSE;
 }
 
+#endif
 void CFFL_TextField::OnSetFocus(CPWL_Wnd* pWnd) {
   ASSERT(m_pApp != NULL);
 
