summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorThakee Nathees <thakeenathees@gmail.com>2020-03-31 02:57:15 +0530
committerThakee Nathees <thakeenathees@gmail.com>2020-04-06 07:30:20 +0530
commit2144eb05df52de32c5f78c749c4c1193e6d09a0a (patch)
tree740d7d880d068e72c53357e36626d8d2fea750f2 /editor
parentb383484e445b1554c811556181a7815e0308fd62 (diff)
replace selected text with empty string bug fixed
Fix: #37416
Diffstat (limited to 'editor')
-rw-r--r--editor/code_editor.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp
index 26bc6dfaf2..8bcda14bb3 100644
--- a/editor/code_editor.cpp
+++ b/editor/code_editor.cpp
@@ -226,6 +226,10 @@ void FindReplaceBar::_replace_all() {
text_edit->begin_complex_operation();
+ if (selection_enabled && is_selection_only()) {
+ text_edit->cursor_set_line(selection_begin.width);
+ text_edit->cursor_set_column(selection_begin.height);
+ }
if (search_current()) {
do {
// replace area
@@ -243,7 +247,7 @@ void FindReplaceBar::_replace_all() {
if (selection_enabled && is_selection_only()) {
if (match_from < selection_begin || match_to > selection_end) {
- continue;
+ break; // Done.
}
// Replace but adjust selection bounds.
@@ -289,6 +293,10 @@ void FindReplaceBar::_get_search_from(int &r_line, int &r_col) {
r_line = text_edit->cursor_get_line();
r_col = text_edit->cursor_get_column();
+ if (text_edit->is_selection_active() && is_selection_only()) {
+ return;
+ }
+
if (r_line == result_line && r_col >= result_col && r_col <= result_col + get_search_text().length()) {
r_col = result_col;
}