Improve null check in FindReplaceBar
This commit is contained in:
parent
b43fb407b1
commit
e94b8a6acc
1 changed files with 17 additions and 14 deletions
|
@ -108,22 +108,25 @@ 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()))) {
|
||||
bool accepted = true;
|
||||
if (!k.is_valid() || !k->is_pressed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (k->get_keycode()) {
|
||||
case KEY_ESCAPE: {
|
||||
_hide_bar();
|
||||
} break;
|
||||
default: {
|
||||
accepted = false;
|
||||
} break;
|
||||
}
|
||||
Control *focus_owner = get_focus_owner();
|
||||
if (text_edit->has_focus() || (focus_owner && vbc_lineedit->is_a_parent_of(focus_owner))) {
|
||||
bool accepted = true;
|
||||
|
||||
if (accepted) {
|
||||
accept_event();
|
||||
}
|
||||
switch (k->get_keycode()) {
|
||||
case KEY_ESCAPE: {
|
||||
_hide_bar();
|
||||
} break;
|
||||
default: {
|
||||
accepted = false;
|
||||
} break;
|
||||
}
|
||||
|
||||
if (accepted) {
|
||||
accept_event();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue