- wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, GetId());
- event.SetString(sel == -1 ? GetValue() : value);
+ if ( sel == -1 )
+ {
+ value = GetValue();
+ }
+ else // we're synthesizing text updated event from sel change
+ {
+ // we need to do this because the user code expects
+ // wxComboBox::GetValue() to return the new value from
+ // "text updated" handler but it hadn't been updated yet
+ SetValue(value);
+ }
+
+ event.SetString(value);