X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f5368809947ac5bf4c2b956b5519e5bc51375f53..eb4e516dd9774b4d14abedd8229dc4c9bcff8439:/src/gtk/slider.cpp diff --git a/src/gtk/slider.cpp b/src/gtk/slider.cpp index d1532a7702..d45eda3add 100644 --- a/src/gtk/slider.cpp +++ b/src/gtk/slider.cpp @@ -38,7 +38,9 @@ static void gtk_slider_callback( GtkWidget *WXUNUSED(widget), wxSlider *win ) float line_step = win->m_adjust->step_increment; float page_step = win->m_adjust->page_increment; - if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; + if (fabs(win->m_adjust->value-win->m_adjust->lower) < 0.2) command = wxEVT_SCROLL_BOTTOM; + else if (fabs(win->m_adjust->value-win->m_adjust->upper) < 0.2) command = wxEVT_SCROLL_TOP; + else if (fabs(diff-line_step) < 0.2) command = wxEVT_SCROLL_LINEDOWN; else if (fabs(diff+line_step) < 0.2) command = wxEVT_SCROLL_LINEUP; else if (fabs(diff-page_step) < 0.2) command = wxEVT_SCROLL_PAGEDOWN; else if (fabs(diff+page_step) < 0.2) command = wxEVT_SCROLL_PAGEUP; @@ -77,6 +79,7 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { + m_acceptsFocus = TRUE; m_needParent = TRUE; PreCreation( parent, id, pos, size, style, name );