X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aed8ac3f8954c07fb2dee3e2ba9ae02fa8890428..66b6b04535cf261b7bae7da77332835b242abd04:/src/gtk/scrolbar.cpp?ds=inline diff --git a/src/gtk/scrolbar.cpp b/src/gtk/scrolbar.cpp index 09888e60cd..5aa22195f8 100644 --- a/src/gtk/scrolbar.cpp +++ b/src/gtk/scrolbar.cpp @@ -88,7 +88,7 @@ static gint gtk_scrollbar_button_press_callback( GtkRange *WXUNUSED(widget), { if (g_isIdle) wxapp_install_idle_handler(); - win->SetScrolling(TRUE); + win->m_isScrolling = TRUE; // g_blockEventsOnScroll = TRUE; doesn't work in DialogEd return FALSE; @@ -103,11 +103,20 @@ static gint gtk_scrollbar_button_release_callback( GtkRange *WXUNUSED(widget), wxScrollBar *win ) { if (g_isIdle) wxapp_install_idle_handler(); + + wxASSERT( win->m_isScrolling ); - win->SetScrolling(FALSE); + win->m_isScrolling = FALSE; // g_blockEventsOnScroll = FALSE; - gtk_signal_emit_by_name( GTK_OBJECT(win->m_adjust), "value_changed" ); + wxEventType command = wxEVT_SCROLL_THUMBTRACK; + int value = (int)ceil(win->m_adjust->value); + int dir = win->HasFlag(wxSB_VERTICAL) ? wxVERTICAL : wxHORIZONTAL; + + wxScrollEvent event( command, value, dir ); + event.SetScrolling( FALSE ); + event.SetEventObject( win ); + win->GetEventHandler()->ProcessEvent( event ); return FALSE; }