浏览代码

FindReplaceBar: Fix search bug when text is selected

Ignacio Etcheverry 9 年之前
父节点
当前提交
9a2d5fa1e1
共有 1 个文件被更改,包括 12 次插入2 次删除
  1. 12 2
      tools/editor/code_editor.cpp

+ 12 - 2
tools/editor/code_editor.cpp

@@ -247,8 +247,18 @@ void FindReplaceBar::_get_search_from(int& r_line, int& r_col) {
 	r_col=text_edit->cursor_get_column();
 
 	if (text_edit->is_selection_active() && !replace_all_mode) {
-		r_line=text_edit->get_selection_from_line();
-		r_col=text_edit->get_selection_to_column();
+
+		int selection_line=text_edit->get_selection_from_line();
+
+		if (text_edit->get_selection_text()==get_search_text() && r_line==selection_line) {
+
+			int selection_from_col=text_edit->get_selection_from_column();
+
+			if (r_col>=selection_from_col && r_col<=text_edit->get_selection_to_column()) {
+				r_col=selection_line;
+				r_col=selection_from_col;
+			}
+		}
 	}
 
 	if (r_line==result_line && r_col>=result_col && r_col<=result_col+get_search_text().length()) {