From 3bbc3b0fe7844db665b5b511534121b0a0856ddb Mon Sep 17 00:00:00 2001 From: ckurz Date: Wed, 29 Aug 2018 11:17:39 +0200 Subject: [PATCH] Fixed history skipping first entry after copying source view selection to initialize EntryBox. --- src/entrybox.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/entrybox.cc b/src/entrybox.cc index abe6800..64b107e 100644 --- a/src/entrybox.cc +++ b/src/entrybox.cc @@ -21,7 +21,13 @@ EntryBox::Entry::Entry(const std::string &content, std::functionkeyval == GDK_KEY_Up || key->keyval == GDK_KEY_KP_Up) { auto &history = entry_histories[get_placeholder_text()]; if(history.size() > 0) { - selected_history++; + if(selected_history == 0 && history.front() != get_text()) { + // This restores correct history behavior with find text initialized + // from a source view selection. + } + else { + selected_history++; + } if(selected_history >= history.size()) selected_history = history.size() - 1; set_text(history[selected_history]);