From 24f9dc79fa24283fab11e3413233219c9b67f158 Mon Sep 17 00:00:00 2001 From: Al Poole Date: Sat, 22 Jul 2017 18:34:39 +0100 Subject: [PATCH] search: fix segv on wrap! Reviewers: ajwillia.ms Reviewed By: ajwillia.ms Differential Revision: https://phab.enlightenment.org/D5032 --- src/bin/editor/edi_editor_search.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/editor/edi_editor_search.c b/src/bin/editor/edi_editor_search.c index c7ab9b6..56c3e1d 100644 --- a/src/bin/editor/edi_editor_search.c +++ b/src/bin/editor/edi_editor_search.c @@ -165,9 +165,11 @@ _edi_search_in_entry(Evas_Object *entry, Edi_Editor_Search *search) _edi_search_term_changed(search, text)) { _edi_search_cache_reset(search); - search->cache.text = strdup(text); + line = elm_code_file_line_get(elm_code_widget_code_get(entry)->file, 1); elm_code_widget_cursor_position_set(entry, 1, 1); + _edi_search_cache_store(search, 0, text, line, 1); _edi_search_in_entry(entry, search); + return EINA_TRUE; } found = ELM_CODE_TEXT_NOT_FOUND; @@ -226,6 +228,8 @@ _edi_search_in_entry(Evas_Object *entry, Edi_Editor_Search *search) evas_object_show(search->wrapped); elm_code_widget_cursor_position_set(entry, 1, 1); elm_code_widget_selection_clear(entry); + line = elm_code_file_line_get(elm_code_widget_code_get(entry)->file, 1); + _edi_search_cache_reset(search); _edi_search_cache_use(search, &text, &line, &found); free(text); return EINA_TRUE;