Improve null check in FindReplaceBar

(cherry picked from commit e94b8a6acc)
This commit is contained in:
Yuri Sizov 2020-07-06 17:13:04 +03:00 committed by Rémi Verschelde
parent bd90f236d3
commit 3f57cb12b4
1 changed files with 16 additions and 18 deletions

View File

@ -116,20 +116,19 @@ void FindReplaceBar::_notification(int p_what) {
void FindReplaceBar::_unhandled_input(const Ref<InputEvent> &p_event) {
Ref<InputEventKey> k = p_event;
if (k.is_valid()) {
if (k->is_pressed() && (text_edit->has_focus() || vbc_lineedit->is_a_parent_of(get_focus_owner()))) {
if (!k.is_valid() || !k->is_pressed()) {
return;
}
Control *focus_owner = get_focus_owner();
if (text_edit->has_focus() || (focus_owner && vbc_lineedit->is_a_parent_of(focus_owner))) {
bool accepted = true;
switch (k->get_scancode()) {
case KEY_ESCAPE: {
_hide_bar();
} break;
default: {
accepted = false;
} break;
}
@ -138,7 +137,6 @@ void FindReplaceBar::_unhandled_input(const Ref<InputEvent> &p_event) {
accept_event();
}
}
}
}
bool FindReplaceBar::_search(uint32_t p_flags, int p_from_line, int p_from_col) {