diff --git a/src/screen.h b/src/screen.h index 1e4e58f1..ace90ce5 100644 --- a/src/screen.h +++ b/src/screen.h @@ -225,6 +225,7 @@ template void Screen::ReadKey(int &key) template void Screen::Scroll(Where where, const int key[2]) { + List *list = Config.centered_cursor ? dynamic_cast(w) : 0; if (!Config.fancy_scrolling && key) { int in = key[0]; @@ -233,15 +234,19 @@ template void Screen::Scroll(Where where, cons { TraceMpdStatus(); w->Scroll(where); + if (list) + list->Highlight(list->Choice()); w->Refresh(); w->ReadKey(in); } w->SetTimeout(ncmpcpp_window_timeout); } else + { w->Scroll(where); - if (List *list = Config.centered_cursor ? dynamic_cast(w) : 0) - list->Highlight(list->Choice()); + if (list) + list->Highlight(list->Choice()); + } } template void Screen::MouseButtonPressed(MEVENT me)