From 65b7e1c73cde7dc0ac70c8eebc878832828e331e Mon Sep 17 00:00:00 2001 From: kit Date: Fri, 7 Feb 2025 14:34:04 -0500 Subject: [PATCH] Fix TextEdit cusor shape when mouse is held --- scene/gui/code_edit.cpp | 4 ++++ scene/gui/text_edit.cpp | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/scene/gui/code_edit.cpp b/scene/gui/code_edit.cpp index 98cdd549acc..6a7e69b3165 100644 --- a/scene/gui/code_edit.cpp +++ b/scene/gui/code_edit.cpp @@ -660,6 +660,10 @@ Control::CursorShape CodeEdit::get_cursor_shape(const Point2 &p_pos) const { return CURSOR_POINTING_HAND; } + if (is_dragging_cursor()) { + return TextEdit::get_cursor_shape(p_pos); + } + if ((code_completion_active && code_completion_rect.has_point(p_pos)) || (!is_editable() && (!is_selecting_enabled() || get_line_count() == 0))) { return CURSOR_ARROW; } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index a153e025c4e..3c7a4fd105a 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1674,6 +1674,7 @@ void TextEdit::_notification(int p_what) { selection_drag_attempt = false; drag_action = false; drag_caret_force_displayed = false; + dragging_selection = false; } break; case NOTIFICATION_MOUSE_EXIT_SELF: { @@ -3112,6 +3113,14 @@ void TextEdit::drop_data(const Point2 &p_point, const Variant &p_data) { } Control::CursorShape TextEdit::get_cursor_shape(const Point2 &p_pos) const { + if (dragging_selection) { + return get_default_cursor_shape(); + } + + if (dragging_minimap) { + return CURSOR_ARROW; + } + Vector2i current_hovered_gutter = _get_hovered_gutter(p_pos); if (current_hovered_gutter != Vector2i(-1, -1)) { if (gutters[current_hovered_gutter.x].clickable || is_line_gutter_clickable(current_hovered_gutter.y, current_hovered_gutter.x)) {