X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3824e0db33a024f3ecfda0c22e47d1b14c54732f..01b5ad3b500627ae3ebadc755f47c816a859e6bb:/src/gtk/slider.cpp diff --git a/src/gtk/slider.cpp b/src/gtk/slider.cpp index 77db144529..52e12014c7 100644 --- a/src/gtk/slider.cpp +++ b/src/gtk/slider.cpp @@ -46,7 +46,7 @@ ProcessScrollEvent(wxSlider *win, wxEventType evtType) { wxScrollEvent event( evtType, win->GetId(), value, orient ); event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + win->HandleWindowEvent( event ); } // but, in any case, except if we're dragging the slider (and so the change @@ -55,14 +55,14 @@ ProcessScrollEvent(wxSlider *win, wxEventType evtType) { wxScrollEvent event(wxEVT_SCROLL_CHANGED, win->GetId(), value, orient); event.SetEventObject( win ); - win->GetEventHandler()->ProcessEvent( event ); + win->HandleWindowEvent( event ); } // and also generate a command event for compatibility wxCommandEvent event( wxEVT_COMMAND_SLIDER_UPDATED, win->GetId() ); event.SetEventObject( win ); event.SetInt( value ); - win->GetEventHandler()->ProcessEvent( event ); + win->HandleWindowEvent( event ); } static inline wxEventType GtkScrollTypeToWx(int scrollType) @@ -100,7 +100,7 @@ static inline wxEventType GtkScrollTypeToWx(int scrollType) eventType = wxEVT_SCROLL_THUMBTRACK; break; default: - wxFAIL_MSG(_T("Unknown GtkScrollType")); + wxFAIL_MSG(wxT("Unknown GtkScrollType")); eventType = wxEVT_NULL; break; } @@ -304,9 +304,10 @@ bool wxSlider::Create(wxWindow *parent, } if (style & wxSL_VERTICAL) - m_widget = gtk_vscale_new( (GtkAdjustment *) NULL ); + m_widget = gtk_vscale_new( NULL ); else - m_widget = gtk_hscale_new( (GtkAdjustment *) NULL ); + m_widget = gtk_hscale_new( NULL ); + g_object_ref(m_widget); gtk_scale_set_draw_value(GTK_SCALE (m_widget), (style & wxSL_LABELS) != 0); // Keep full precision in position value @@ -357,6 +358,8 @@ void wxSlider::GTKSetValue(int value) void wxSlider::SetRange( int minValue, int maxValue ) { m_blockScrollEvent = true; + if (minValue == maxValue) + maxValue++; gtk_range_set_range(GTK_RANGE (m_widget), minValue, maxValue); gtk_range_set_increments(GTK_RANGE (m_widget), 1, (maxValue - minValue + 9) / 10); m_blockScrollEvent = false;