forked from AuroraMiddleware/gtk
scrolledwindow: Avoid too frequent redraws of scrollbars
When overshooting through touchpad kinetic scrolling, the scrollbar remains mostly static as it already hit a boundary. However, the fade in/out checks are constantly run during scroll events, causing needless redraws in this specific case.
This commit is contained in:
parent
6d5f2ff87e
commit
7651061920
@ -3387,7 +3387,9 @@ static void
|
||||
indicator_set_fade (Indicator *indicator,
|
||||
gdouble pos)
|
||||
{
|
||||
gboolean visible;
|
||||
gboolean visible, changed;
|
||||
|
||||
changed = indicator->current_pos != pos;
|
||||
indicator->current_pos = pos;
|
||||
|
||||
visible = indicator->current_pos != 0.0 || indicator->target_pos != 0.0;
|
||||
@ -3404,8 +3406,11 @@ indicator_set_fade (Indicator *indicator,
|
||||
indicator->conceil_timer = 0;
|
||||
}
|
||||
|
||||
gtk_widget_set_opacity (indicator->scrollbar, indicator->current_pos);
|
||||
gtk_widget_queue_draw (indicator->scrollbar);
|
||||
if (changed)
|
||||
{
|
||||
gtk_widget_set_opacity (indicator->scrollbar, indicator->current_pos);
|
||||
gtk_widget_queue_draw (indicator->scrollbar);
|
||||
}
|
||||
}
|
||||
|
||||
static double
|
||||
|
Loading…
Reference in New Issue
Block a user