diff options
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/line_edit.cpp | 10 | ||||
-rw-r--r-- | scene/gui/tree.cpp | 8 |
2 files changed, 14 insertions, 4 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 16a718722c..a57dccd5c8 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -274,6 +274,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { } } grab_focus(); + accept_event(); return; } @@ -383,6 +384,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { } queue_redraw(); + return; } Ref<InputEventMouseMotion> m = p_event; @@ -407,6 +409,8 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { drag_caret_force_displayed = true; set_caret_at_pixel_pos(m->get_position().x); } + + return; } Ref<InputEventKey> k = p_event; @@ -460,6 +464,9 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { menu->reset_size(); menu->popup(); menu->grab_focus(); + + accept_event(); + return; } } @@ -469,6 +476,8 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_VIRTUAL_KEYBOARD) && virtual_keyboard_enabled) { DisplayServer::get_singleton()->virtual_keyboard_hide(); } + accept_event(); + return; } if (is_shortcut_keys_enabled()) { @@ -608,6 +617,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) { _text_changed(); } accept_event(); + return; } } } diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 0f39715851..f8c2e9f4ad 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -1775,10 +1775,10 @@ void Tree::draw_item_rect(TreeItem::Cell &p_cell, const Rect2i &p_rect, const Co RID ci = get_canvas_item(); - if (rtl) { + if (rtl && rect.size.width > 0) { Point2 draw_pos = rect.position; draw_pos.y += Math::floor((rect.size.y - p_cell.text_buf->get_size().y) / 2.0); - p_cell.text_buf->set_width(MAX(0, rect.size.width)); + p_cell.text_buf->set_width(rect.size.width); if (p_ol_size > 0 && p_ol_color.a > 0) { p_cell.text_buf->draw_outline(ci, draw_pos, p_ol_size, p_ol_color); } @@ -1800,10 +1800,10 @@ void Tree::draw_item_rect(TreeItem::Cell &p_cell, const Rect2i &p_rect, const Co rect.size.x -= bmsize.x + theme_cache.h_separation; } - if (!rtl) { + if (!rtl && rect.size.width > 0) { Point2 draw_pos = rect.position; draw_pos.y += Math::floor((rect.size.y - p_cell.text_buf->get_size().y) / 2.0); - p_cell.text_buf->set_width(MAX(0, rect.size.width)); + p_cell.text_buf->set_width(rect.size.width); if (p_ol_size > 0 && p_ol_color.a > 0) { p_cell.text_buf->draw_outline(ci, draw_pos, p_ol_size, p_ol_color); } |