diff --git a/editor/doc/editor_help.cpp b/editor/doc/editor_help.cpp index c3a6dbbbaa4..d36de6ebde6 100644 --- a/editor/doc/editor_help.cpp +++ b/editor/doc/editor_help.cpp @@ -4643,7 +4643,7 @@ void EditorHelpBitTooltip::_notification(int p_what) { } } -Control *EditorHelpBitTooltip::show_tooltip(Control *p_target, const String &p_symbol, const String &p_prologue, bool p_use_class_prefix) { +Control *EditorHelpBitTooltip::make_tooltip(Control *p_target, const String &p_symbol, const String &p_prologue, bool p_use_class_prefix) { ERR_FAIL_NULL_V(p_target, _make_invisible_control()); // Show the custom tooltip only if it is not already visible. diff --git a/editor/doc/editor_help.h b/editor/doc/editor_help.h index 9e1a5c7cb37..9ee4cf23be7 100644 --- a/editor/doc/editor_help.h +++ b/editor/doc/editor_help.h @@ -380,7 +380,8 @@ protected: void _notification(int p_what); public: - static Control *show_tooltip(Control *p_target, const String &p_symbol, const String &p_prologue = String(), bool p_use_class_prefix = false); + // The returned control is an orphan node, which is to make the standard tooltip invisible. + [[nodiscard]] static Control *make_tooltip(Control *p_target, const String &p_symbol, const String &p_prologue = String(), bool p_use_class_prefix = false); void popup_under_cursor(); diff --git a/editor/inspector/editor_inspector.cpp b/editor/inspector/editor_inspector.cpp index 6bc415f99ed..9b7ba5bc788 100644 --- a/editor/inspector/editor_inspector.cpp +++ b/editor/inspector/editor_inspector.cpp @@ -1397,7 +1397,7 @@ Control *EditorProperty::make_custom_tooltip(const String &p_text) const { } if (!symbol.is_empty() || !prologue.is_empty()) { - return EditorHelpBitTooltip::show_tooltip(const_cast(this), symbol, prologue); + return EditorHelpBitTooltip::make_tooltip(const_cast(this), symbol, prologue); } return nullptr; @@ -1780,7 +1780,7 @@ Control *EditorInspectorCategory::make_custom_tooltip(const String &p_text) cons return nullptr; } - return EditorHelpBitTooltip::show_tooltip(const_cast(this), p_text); + return EditorHelpBitTooltip::make_tooltip(const_cast(this), p_text); } void EditorInspectorCategory::set_as_favorite() { @@ -2290,7 +2290,7 @@ Control *EditorInspectorSection::make_custom_tooltip(const String &p_text) const } if (!symbol.is_empty() || !prologue.is_empty()) { - return EditorHelpBitTooltip::show_tooltip(const_cast(this), symbol, prologue); + return EditorHelpBitTooltip::make_tooltip(const_cast(this), symbol, prologue); } return nullptr; diff --git a/editor/scene/connections_dialog.cpp b/editor/scene/connections_dialog.cpp index e4a8d6c3fce..a4e6272c4b1 100644 --- a/editor/scene/connections_dialog.cpp +++ b/editor/scene/connections_dialog.cpp @@ -953,7 +953,7 @@ Control *ConnectionsDockTree::make_custom_tooltip(const String &p_text) const { return nullptr; } - return EditorHelpBitTooltip::show_tooltip(const_cast(this), p_text); + return EditorHelpBitTooltip::make_tooltip(const_cast(this), p_text); } struct _ConnectionsDockMethodInfoSort { diff --git a/editor/scene/gui/theme_editor_plugin.cpp b/editor/scene/gui/theme_editor_plugin.cpp index 6363112ee86..84af02e31e7 100644 --- a/editor/scene/gui/theme_editor_plugin.cpp +++ b/editor/scene/gui/theme_editor_plugin.cpp @@ -2336,7 +2336,7 @@ ThemeTypeDialog::ThemeTypeDialog() { /////////////////////// Control *ThemeItemLabel::make_custom_tooltip(const String &p_text) const { - return EditorHelpBitTooltip::show_tooltip(const_cast(this), p_text); + return EditorHelpBitTooltip::make_tooltip(const_cast(this), p_text); } VBoxContainer *ThemeTypeEditor::_create_item_list(Theme::DataType p_data_type) { diff --git a/editor/script/script_text_editor.cpp b/editor/script/script_text_editor.cpp index 433a9e68698..e102feb5650 100644 --- a/editor/script/script_text_editor.cpp +++ b/editor/script/script_text_editor.cpp @@ -1422,7 +1422,8 @@ void ScriptTextEditor::_show_symbol_tooltip(const String &p_symbol, int p_row, i } if (p_symbol.begins_with("res://") || p_symbol.begins_with("uid://")) { - EditorHelpBitTooltip::show_tooltip(code_editor->get_text_editor(), "resource||" + p_symbol); + Control *tmp = EditorHelpBitTooltip::make_tooltip(code_editor->get_text_editor(), "resource||" + p_symbol); + memdelete(tmp); return; } @@ -1532,7 +1533,8 @@ void ScriptTextEditor::_show_symbol_tooltip(const String &p_symbol, int p_row, i } if (!doc_symbol.is_empty() || !debug_value.is_empty()) { - EditorHelpBitTooltip::show_tooltip(code_editor->get_text_editor(), doc_symbol, debug_value, true); + Control *tmp = EditorHelpBitTooltip::make_tooltip(code_editor->get_text_editor(), doc_symbol, debug_value, true); + memdelete(tmp); } }