X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c64755ed1ad825e3a5b6ddc71bc77e8f25fc5999..2d97237dac7f35e78f4a1ce1877dafc7b05ffb4f:/src/msw/combobox.cpp diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index 2648bd8024..6b3ec7f57f 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -40,10 +40,10 @@ #include "wx/clipbrd.h" #include "wx/msw/private.h" +// include "properly" +#include "wx/msw/wrapcctl.h" + #if wxUSE_TOOLTIPS - #if !defined(__GNUWIN32_OLD__) || defined(__CYGWIN10__) - #include - #endif #include "wx/tooltip.h" #endif // wxUSE_TOOLTIPS @@ -321,6 +321,12 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD id) // CBN_EDITCHANGE below sel = GetSelection(); value = GetStringSelection(); + + // this string is going to become the new combobox value soon but + // we need it to be done right now, otherwise the event handler + // could get a wrong value when it calls our GetValue() + ::SetWindowText(GetHwnd(), value); + { wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, GetId()); event.SetInt(sel); @@ -411,8 +417,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, // edit control, we must subclass it as well if ( !(style & wxCB_READONLY) ) { - gs_wndprocEdit = wxSetWindowProc((HWND)GetEditHWND(), - wxComboEditWndProc); + gs_wndprocEdit = wxSetWindowProc((HWND)GetEditHWND(), wxComboEditWndProc); } // and finally, show the control