X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b941f2d3143c1205fc7c5b01bd254781db728b3..f842e673f6db8c60b6b417a1c5255e1c5ee480db:/src/common/valgen.cpp?ds=sidebyside diff --git a/src/common/valgen.cpp b/src/common/valgen.cpp index f6dc6d5202..e9aaf19e38 100644 --- a/src/common/valgen.cpp +++ b/src/common/valgen.cpp @@ -225,7 +225,7 @@ bool wxGenericValidator::TransferToWindow(void) { pControl->SetStringSelection(* m_pString); } - else + if ((m_validatorWindow->GetWindowStyle() & wxCB_READONLY) == 0) { pControl->SetValue(* m_pString); } @@ -252,6 +252,7 @@ bool wxGenericValidator::TransferToWindow(void) } } else #endif +#if wxUSE_STATTEXT if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) ) { wxStaticText* pControl = (wxStaticText*) m_validatorWindow; @@ -261,6 +262,7 @@ bool wxGenericValidator::TransferToWindow(void) return true; } } else +#endif #if wxUSE_TEXTCTRL if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) ) { @@ -450,7 +452,10 @@ bool wxGenericValidator::TransferFromWindow(void) } else if (m_pString) { - *m_pString = pControl->GetValue(); + if (m_validatorWindow->GetWindowStyle() & wxCB_READONLY) + *m_pString = pControl->GetStringSelection(); + else + *m_pString = pControl->GetValue(); return true; } } else @@ -471,6 +476,7 @@ bool wxGenericValidator::TransferFromWindow(void) } } else #endif +#if wxUSE_STATTEXT if (m_validatorWindow->IsKindOf(CLASSINFO(wxStaticText)) ) { wxStaticText* pControl = (wxStaticText*) m_validatorWindow; @@ -480,6 +486,7 @@ bool wxGenericValidator::TransferFromWindow(void) return true; } } else +#endif #if wxUSE_TEXTCTRL if (m_validatorWindow->IsKindOf(CLASSINFO(wxTextCtrl)) ) {