X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d17d68f470c31f7c145b095eb1a3e0c2f581f30..b58197f24a87e0dc81ba0bdd4fc1370470a5ae2f:/src/gtk/slider.cpp diff --git a/src/gtk/slider.cpp b/src/gtk/slider.cpp index 5f9c8915b6..a9a4e9a7d3 100644 --- a/src/gtk/slider.cpp +++ b/src/gtk/slider.cpp @@ -35,6 +35,7 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win ) float diff = win->m_adjust->value - win->m_oldPos; if (fabs(diff) < 0.2) return; + win->m_oldPos = win->m_adjust->value; wxEventType command = wxEVT_NULL; @@ -49,18 +50,18 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win ) else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP; else command = wxEVT_SCROLL_THUMBTRACK; - int value = (int)(win->m_adjust->value+0.5); + int value = (int)ceil(win->m_adjust->value); int orient = wxHORIZONTAL; if (win->GetWindowStyleFlag() & wxSB_VERTICAL == wxSB_VERTICAL) orient = wxVERTICAL; wxScrollEvent event( command, win->GetId(), value, orient ); event.SetEventObject( win ); - win->ProcessEvent( event ); + win->GetEventHandler()->ProcessEvent( event ); wxCommandEvent cevent( wxEVT_COMMAND_SLIDER_UPDATED, win->GetId() ); cevent.SetEventObject( win ); - win->ProcessEvent( cevent ); + win->GetEventHandler()->ProcessEvent( cevent ); } //----------------------------------------------------------------------------- @@ -156,12 +157,12 @@ void wxSlider::SetRange( int minValue, int maxValue ) int wxSlider::GetMin(void) const { - return (int)(m_adjust->lower+0.5); + return (int)ceil(m_adjust->lower); } int wxSlider::GetMax(void) const { - return (int)(m_adjust->upper+0.5); + return (int)ceil(m_adjust->upper); } void wxSlider::SetPageSize( int pageSize ) @@ -177,7 +178,7 @@ void wxSlider::SetPageSize( int pageSize ) int wxSlider::GetPageSize(void) const { - return (int)(m_adjust->page_increment+0.5); + return (int)ceil(m_adjust->page_increment); } void wxSlider::SetThumbLength( int len ) @@ -193,7 +194,7 @@ void wxSlider::SetThumbLength( int len ) int wxSlider::GetThumbLength(void) const { - return (int)(m_adjust->page_size+0.5); + return (int)ceil(m_adjust->page_size); } void wxSlider::SetLineSize( int WXUNUSED(lineSize) )