Fix get_drag_data not overridable in some Controls

(cherry picked from commit 36141dc469)
This commit is contained in:
kobewi 2023-03-20 00:38:00 +01:00 committed by Yuri Sizov
parent 9559bbcb18
commit 94e90b0593
3 changed files with 15 additions and 0 deletions

View File

@ -638,6 +638,11 @@ HorizontalAlignment LineEdit::get_horizontal_alignment() const {
}
Variant LineEdit::get_drag_data(const Point2 &p_point) {
Variant ret = Control::get_drag_data(p_point);
if (ret != Variant()) {
return ret;
}
if (selection.drag_attempt && selection.enabled) {
String t = text.substr(selection.begin, selection.end - selection.begin);
Label *l = memnew(Label);

View File

@ -4735,6 +4735,11 @@ void RichTextLabel::set_deselect_on_focus_loss_enabled(const bool p_enabled) {
}
Variant RichTextLabel::get_drag_data(const Point2 &p_point) {
Variant ret = Control::get_drag_data(p_point);
if (ret != Variant()) {
return ret;
}
if (selection.drag_attempt && selection.enabled) {
String t = get_selected_text();
Label *l = memnew(Label);

View File

@ -3035,6 +3035,11 @@ bool TextEdit::is_text_field() const {
}
Variant TextEdit::get_drag_data(const Point2 &p_point) {
Variant ret = Control::get_drag_data(p_point);
if (ret != Variant()) {
return ret;
}
if (has_selection() && selection_drag_attempt) {
String t = get_selected_text();
Label *l = memnew(Label);