case WM_GETDLGCODE:
// we want to get WXK_RETURN in order to generate the event for it
- return DLGC_WANTCHARS;
+ return DLGC_WANTALLKEYS;
}
return ::CallWindowProc(CASTWNDPROC spin->GetBuddyWndProc(),
// process a WM_COMMAND generated by the buddy text control
bool wxSpinCtrl::ProcessTextCommand(WXWORD cmd, WXWORD WXUNUSED(id))
{
- if ( cmd == EN_CHANGE )
+ if ( (cmd == EN_CHANGE) && (!m_blockEvent ))
{
wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, GetId());
event.SetEventObject(this);
int min, int max, int initial,
const wxString& name)
{
+ m_blockEvent = false;
+
// this should be in ctor/init function but I don't want to add one to 2.8
// to avoid problems with default ctor which can be inlined in the user
// code and so might not get this fix without recompilation
void wxSpinCtrl::SetValue(int val)
{
+ m_blockEvent = true;
+
wxSpinButton::SetValue(val);
// normally setting the value of the spin button is enough as it updates
}
m_oldValue = GetValue();
+
+ m_blockEvent = false;
}
int wxSpinCtrl::GetValue() const