X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/828f655fd31ac19d83cf7ec14d0b207e9b254977..c127177f8dc31dbe99764852b8dbcc047d3ad826:/src/gtk/scrolbar.cpp diff --git a/src/gtk/scrolbar.cpp b/src/gtk/scrolbar.cpp index 39aba4ce46..5c9ddc9eb5 100644 --- a/src/gtk/scrolbar.cpp +++ b/src/gtk/scrolbar.cpp @@ -19,6 +19,13 @@ #include "gdk/gdk.h" #include "gtk/gtk.h" +//----------------------------------------------------------------------------- +// idle system +//----------------------------------------------------------------------------- + +extern void wxapp_install_idle_handler(); +extern bool g_isIdle; + //----------------------------------------------------------------------------- // data //----------------------------------------------------------------------------- @@ -32,6 +39,8 @@ extern bool g_blockEventsOnScroll; static void gtk_scrollbar_callback( GtkWidget *WXUNUSED(widget), wxScrollBar *win ) { + if (g_isIdle) wxapp_install_idle_handler(); + if (!win->HasVMT()) return; if (g_blockEventsOnDrag) return; @@ -83,10 +92,12 @@ static gint gtk_scrollbar_button_press_callback( GtkRange *WXUNUSED(widget), GdkEventButton *WXUNUSED(gdk_event), wxScrollBar *win ) { - win->m_isScrolling = TRUE; + if (g_isIdle) wxapp_install_idle_handler(); + + win->m_isScrolling = TRUE; // g_blockEventsOnScroll = TRUE; doesn't work in DialogEd - return FALSE; + return FALSE; } //----------------------------------------------------------------------------- @@ -97,6 +108,8 @@ static gint gtk_scrollbar_button_release_callback( GtkRange *WXUNUSED(widget), GdkEventButton *WXUNUSED(gdk_event), wxScrollBar *win ) { + if (g_isIdle) wxapp_install_idle_handler(); + win->m_isScrolling = FALSE; // g_blockEventsOnScroll = FALSE;