const double value = gtk_spin_button_get_value(spinbutton);
const int pos = int(value);
const int oldPos = win->m_pos;
- if (!win->m_hasVMT || g_blockEventsOnDrag || win->m_blockScrollEvent || pos == oldPos)
+ if (!win->m_hasVMT || g_blockEventsOnDrag || pos == oldPos)
{
win->m_pos = pos;
return;
event.SetPosition(pos);
event.SetEventObject(win);
- if ((win->GetEventHandler()->ProcessEvent( event )) &&
+ if ((win->HandleWindowEvent( event )) &&
!event.IsAllowed() )
{
/* program has vetoed */
- win->BlockScrollEvent();
+ // this will cause another "value_changed" signal,
+ // but because pos == oldPos nothing will happen
gtk_spin_button_set_value(spinbutton, oldPos);
- win->UnblockScrollEvent();
return;
}
wxSpinEvent event2(wxEVT_SCROLL_THUMBTRACK, win->GetId());
event2.SetPosition(pos);
event2.SetEventObject(win);
- win->GetEventHandler()->ProcessEvent(event2);
+ win->HandleWindowEvent(event2);
}
}
GtkDisableEvents();
gtk_spin_button_set_value((GtkSpinButton*)m_widget, value);
+ m_pos = int(gtk_spin_button_get_value((GtkSpinButton*)m_widget));
GtkEnableEvents();
}
GtkDisableEvents();
gtk_spin_button_set_range((GtkSpinButton*)m_widget, minVal, maxVal);
+ m_pos = int(gtk_spin_button_get_value((GtkSpinButton*)m_widget));
GtkEnableEvents();
}