diff options
author | Michael Lauer <mickey@vanille-media.de> | 2007-07-30 11:15:39 +0000 |
---|---|---|
committer | Michael Lauer <mickey@vanille-media.de> | 2007-07-30 11:15:39 +0000 |
commit | 929f61d2aef5cf85e6d88cdbcf542c838a03bf34 (patch) | |
tree | fa99fe12f0718313365a066d93df646ef6f5ef49 /packages/gtk+/gtk+-2.10.14/range-no-redraw.patch | |
parent | 22348937cf12a03afe2aaeaa0c297867bb40433b (diff) | |
parent | 10de3859729ec4a238d66340144a93005fcd0a61 (diff) |
merge of '4a597627acd6eec179bb1a03405d92cf8b871ac0'
and '6c89e16689bde0d5bff8b0e47eea04a458190a56'
Diffstat (limited to 'packages/gtk+/gtk+-2.10.14/range-no-redraw.patch')
-rw-r--r-- | packages/gtk+/gtk+-2.10.14/range-no-redraw.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/gtk+/gtk+-2.10.14/range-no-redraw.patch b/packages/gtk+/gtk+-2.10.14/range-no-redraw.patch new file mode 100644 index 0000000000..e3603d7700 --- /dev/null +++ b/packages/gtk+/gtk+-2.10.14/range-no-redraw.patch @@ -0,0 +1,41 @@ +Index: gtk/gtkrange.c +=================================================================== +--- gtk/gtkrange.c (revision 18523) ++++ gtk/gtkrange.c (working copy) +@@ -99,6 +99,8 @@ + + GtkSensitivityType lower_sensitivity; + GtkSensitivityType upper_sensitivity; ++ ++ guint motion_idle; + }; + + +@@ -1721,6 +1723,16 @@ + &handled); + } + ++static gboolean ++update_slider_position_idle (GtkRange *range) ++{ ++ update_slider_position (range, range->layout->mouse_x,range->layout->mouse_y); ++ ++ range->layout->motion_idle = 0; ++ ++ return FALSE; ++} ++ + static void + stop_scrolling (GtkRange *range) + { +@@ -1860,8 +1872,8 @@ + if (gtk_range_update_mouse_location (range)) + gtk_widget_queue_draw (widget); + +- if (range->layout->grab_location == MOUSE_SLIDER) +- update_slider_position (range, x, y); ++ if (range->layout->grab_location == MOUSE_SLIDER && !range->layout->motion_idle) ++ range->layout->motion_idle = g_idle_add ((GSourceFunc)update_slider_position_idle, range); + + /* We handled the event if the mouse was in the range_rect */ + return range->layout->mouse_location != MOUSE_OUTSIDE; |