X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/51725fc0c294f3c3f636710745539cd2041d8d8b..4209475ced5240eb3ce516767e7c9a0a74d12bc7:/src/msw/textctrl.cpp?ds=sidebyside diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 83d1ffbd06..f394ce44e2 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -82,7 +82,7 @@ // dummy value used for m_dropTarget, different from any valid pointer value // (which are all even under Windows) and NULL static wxDropTarget * - wxRICHTEXT_DEFAULT_DROPTARGET = wx_reinterpret_cast(wxDropTarget *, 1); + wxRICHTEXT_DEFAULT_DROPTARGET = reinterpret_cast(1); #endif // wxUSE_DRAG_AND_DROP && wxUSE_RICHEDIT @@ -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