X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e408bf5257ead0754de5ef37a39867c7536dbe03..b85b06e13d22e7fc1604ec1a49caa1227a1b3d36:/src/msw/textctrl.cpp diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 6a4c1baffe..e6a2500f05 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); }; // ---------------------------------------------------------------------------- @@ -424,7 +424,9 @@ bool wxTextCtrl::MSWCreateText(const wxString& value, } #endif +#if wxUSE_INKEDIT if (!IsInkEdit()) +#endif // wxUSE_INKEDIT { if ( m_verRichEdit == 2 ) { @@ -858,8 +860,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 +885,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 +915,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 +1002,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; @@ -2819,10 +2822,8 @@ bool wxRichEditModule::Load(Version version) // load the InkEdit library bool wxRichEditModule::LoadInkEdit() { - static wxDynamicLibrary ms_inkEditLib; - static bool ms_inkEditLibLoadAttemped; if (ms_inkEditLibLoadAttemped) - ms_inkEditLib.IsLoaded(); + return ms_inkEditLib.IsLoaded(); ms_inkEditLibLoadAttemped = true;