]> git.saurik.com Git - wxWidgets.git/commitdiff
better fix for keeping m_pos in sync
authorPaul Cornett <paulcor@bullseye.com>
Sun, 3 Dec 2006 05:13:00 +0000 (05:13 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Sun, 3 Dec 2006 05:13:00 +0000 (05:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/slider.cpp

index 0a75a32c556ea8d2781a649f99ef71266a552101..dc964e0153b127d13d5f943684910f94ba5c38f4 100644 (file)
@@ -126,13 +126,14 @@ gtk_value_changed(GtkRange* range, wxSlider* win)
 {
     if (g_isIdle) wxapp_install_idle_handler();
 
-    if (!win->m_hasVMT) return;
-    if (g_blockEventsOnDrag) return;
-
     GtkAdjustment* adj = gtk_range_get_adjustment (range);
     const int pos = wxRound(adj->value);
     const double oldPos = win->m_pos;
     win->m_pos = adj->value;
+
+    if (!win->m_hasVMT || g_blockEventsOnDrag)
+        return;
+
     if (win->m_blockScrollEvent)
     {
         win->m_scrollEventType = GTK_SCROLL_NONE;
@@ -346,13 +347,6 @@ void wxSlider::SetValue( int value )
         BlockScrollEvent();
         gtk_range_set_value(GTK_RANGE (m_widget), value);
         UnblockScrollEvent();
-
-        // keep m_pos in sync in case the value_changed callback didn't didn't
-        // get called, such as when the widget is first created
-        if (GetValue() != value)
-        {
-            m_pos = gtk_range_get_value(GTK_RANGE(m_widget));
-        }
     }
 }