X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0a07a7d8528987ea635dbf111cf08f58c6d16090..16d38102e8ad5534d185cc532b9aa8077a75e0a4:/src/gtk/spinctrl.cpp diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index d31372ed9b..0b9e68f89e 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -18,6 +18,8 @@ #include "wx/utils.h" +#include "wx/textctrl.h" // for wxEVT_COMMAND_TEXT_UPDATED + #include #include @@ -51,7 +53,14 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win wxCommandEvent event( wxEVT_COMMAND_SPINCTRL_UPDATED, win->GetId()); event.SetEventObject( win ); - event.SetInt( win->GetValue() ); + + // note that we don't use wxSpinCtrl::GetValue() here because it would + // adjust the value to fit into the control range and this means that we + // would never be able to enter an "invalid" value in the control, even + // temporarily - and trying to enter 10 into the control which accepts the + // values in range 5..50 is then, ummm, quite challenging (hint: you can't + // enter 1!) (VZ) + event.SetInt( (int)ceil(win->m_adjust->value) ); win->GetEventHandler()->ProcessEvent( event ); }