X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9f15c5febf5b9ae6ba7a8d3793fa0a187fac1980..85ad5eb54d74e371bc4bce6ff92f2de70fd21ac9:/src/gtk/spinbutt.cpp diff --git a/src/gtk/spinbutt.cpp b/src/gtk/spinbutt.cpp index afbd61ee1e..7b3b204283 100644 --- a/src/gtk/spinbutt.cpp +++ b/src/gtk/spinbutt.cpp @@ -19,6 +19,13 @@ #include "gdk/gdk.h" #include "gtk/gtk.h" +//----------------------------------------------------------------------------- +// idle system +//----------------------------------------------------------------------------- + +extern void wxapp_install_idle_handler(); +extern bool g_isIdle; + //----------------------------------------------------------------------------- // data //----------------------------------------------------------------------------- @@ -33,7 +40,9 @@ static const float sensitivity = 0.2; static void gtk_spinbutt_callback( GtkWidget *WXUNUSED(widget), wxSpinButton *win ) { - if (!win->HasVMT()) return; + if (g_isIdle) wxapp_install_idle_handler(); + + if (!win->m_hasVMT) return; if (g_blockEventsOnDrag) return; float diff = win->m_adjust->value - win->m_oldPos; @@ -81,7 +90,7 @@ bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, c m_needParent = TRUE; wxSize new_size = size; - new_size.x = 16; + new_size.x = 15; if (new_size.y == -1) new_size.y = 30; @@ -102,9 +111,7 @@ bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, c (GtkSignalFunc) gtk_spinbutt_callback, (gpointer) this ); - m_parent->AddChild( this ); - - (m_parent->m_insertCallback)( m_parent, this ); + m_parent->DoAddChild( this ); PostCreation(); @@ -176,7 +183,7 @@ void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) ) { wxCHECK_RET( (m_widget != NULL), _T("invalid spin button") ); - m_width = 16; + m_width = 15; gtk_widget_set_usize( m_widget, m_width, m_height ); }