diff --git a/src/selection_dialog.cpp b/src/selection_dialog.cpp index 2e46f93..bfdff66 100644 --- a/src/selection_dialog.cpp +++ b/src/selection_dialog.cpp @@ -182,11 +182,13 @@ void SelectionDialogBase::show() { cursor_changed(); } else if(list_view_text.get_model()->children().begin() != list_view_text.get_selection()->get_selected()) { - Glib::signal_idle().connect([this] { - if((this == SelectionDialog::get().get() || this == CompletionDialog::get().get()) && is_visible()) - list_view_text.scroll_to_row(list_view_text.get_model()->get_path(list_view_text.get_selection()->get_selected()), 0.5); - return false; - }); + Glib::signal_timeout().connect( + [this] { + if((this == SelectionDialog::get().get() || this == CompletionDialog::get().get()) && is_visible()) + list_view_text.scroll_to_row(list_view_text.get_model()->get_path(list_view_text.get_selection()->get_selected()), 0.5); + return false; + }, + 0); } } if(on_show)