X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c33522fca7cddc441a316f5b9fb50d7685435ba..aa8166dd51a1ee24437798653580223945c8f0df:/src/msw/textctrl.cpp diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 0f4ac931a7..f394ce44e2 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -169,7 +169,7 @@ public: private: int& m_count; - DECLARE_NO_COPY_CLASS(UpdatesCountFilter) + wxDECLARE_NO_COPY_CLASS(UpdatesCountFilter); }; // ---------------------------------------------------------------------------- @@ -858,8 +858,9 @@ wxString wxTextCtrl::GetRange(long from, long to) const else #endif // wxUSE_RICHEDIT { - // retrieve all text - str = wxGetWindowText(GetHWND()); + // retrieve all text: wxTextEntry method works even for multiline + // controls and must be used for single line ones to account for hints + str = wxTextEntry::GetValue(); // need only a range? if ( from < to ) @@ -882,7 +883,7 @@ void wxTextCtrl::DoSetValue(const wxString& value, int flags) // comparing it with the old one (chances are that it will be different // anyhow, this comparison is there to avoid flicker for small single-line // edit controls mostly) - if ( (value.length() > 0x400) || (value != GetValue()) ) + if ( (value.length() > 0x400) || (value != DoGetValue()) ) { DoWriteText(value, flags /* doesn't include SelectionOnly here */); @@ -912,7 +913,7 @@ void wxTextCtrl::DoSetValue(const wxString& value, int flags) // TODO: using memcpy() would improve performance a lot for big amounts of text DWORD CALLBACK -wxRichEditStreamIn(DWORD dwCookie, BYTE *buf, LONG cb, LONG *pcb) +wxRichEditStreamIn(DWORD_PTR dwCookie, BYTE *buf, LONG cb, LONG *pcb) { *pcb = 0; @@ -999,7 +1000,7 @@ wxTextCtrl::StreamIn(const wxString& value, // finally, stream it in the control EDITSTREAM eds; wxZeroMemory(eds); - eds.dwCookie = (DWORD)&wpc; + eds.dwCookie = (DWORD_PTR)&wpc; // the cast below is needed for broken (very) old mingw32 headers eds.pfnCallback = (EDITSTREAMCALLBACK)wxRichEditStreamIn; @@ -2447,7 +2448,7 @@ bool wxTextCtrl::SetStyle(long start, long end, const wxTextAttr& style) cf.yHeight = 20*font.GetPointSize(); // 1 pt = 20 twips cf.bCharSet = lf.lfCharSet; cf.bPitchAndFamily = lf.lfPitchAndFamily; - wxStrncpy( cf.szFaceName, lf.lfFaceName, WXSIZEOF(cf.szFaceName) ); + wxStrlcpy(cf.szFaceName, lf.lfFaceName, WXSIZEOF(cf.szFaceName)); // also deal with underline/italic/bold attributes: note that we must // always set CFM_ITALIC &c bits in dwMask, even if we don't set the