+//-----------------------------------------------------------------------------
+// "button_press_event" from slider
+//-----------------------------------------------------------------------------
+
+static gint gtk_scrollbar_button_press_callback( GtkRange *widget,
+ GdkEventButton *gdk_event,
+ wxScrollBar *win )
+{
+ if (g_isIdle) wxapp_install_idle_handler();
+
+// g_blockEventsOnScroll = TRUE; doesn't work in DialogEd
+
+ // FIXME: there is no slider field any more, what was meant here?
+#ifndef __WXGTK20__
+ win->m_isScrolling = (gdk_event->window == widget->slider);
+#endif
+
+ return FALSE;
+}
+
+//-----------------------------------------------------------------------------
+// "button_release_event" from slider
+//-----------------------------------------------------------------------------
+
+static gint
+gtk_scrollbar_button_release_callback( GtkRange *WXUNUSED(widget),
+ GdkEventButton *WXUNUSED(gdk_event),
+ wxScrollBar *win )
+{
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+// g_blockEventsOnScroll = FALSE;
+
+ if (win->m_isScrolling)
+ {
+ wxEventType command = wxEVT_SCROLL_THUMBRELEASE;
+ int value = (int)ceil(win->m_adjust->value);
+ int orient = win->HasFlag(wxSB_VERTICAL) ? wxVERTICAL : wxHORIZONTAL;
+
+ wxScrollEvent event( command, win->GetId(), value, orient );
+ event.SetEventObject( win );
+ win->GetEventHandler()->ProcessEvent( event );
+ }
+
+ win->m_isScrolling = FALSE;
+
+ return FALSE;
+}
+