Godot Version
4.4
Question
I am trying to give a custom tooltip to a Label, for this I am trying to detect when a normal tooltip would be displayed, stop it from doing that and instead call a custom function I made to create my own tooltips somewhere else in the scene tree.
func _make_custom_tooltip(tip_text : String) -> Control:
if tip_text != "":
OtherNode.create_tooltip(tip_text)
return
But when I do this, it still creates a plain Panel node for the tooltip, despite nothing being returned, which according to the docs seems to be unintended;
Note: If overridden, this method is called even if get_tooltip() returns an empty string. When this happens with the default tooltip, it is not displayed. To copy this behavior, return null in this method when for_text is empty.
While trying to fix this I found This Github Issue about this, but the same thing as the docs is said;
timothyqiu on Nov 25, 2024
To obtain the old behavior, check the argument at the beginning of _make_custom_tooltip() and return null if it’s an empty string.
So returning null / nothing should make no tooltip appear, but it still creates an empty panel? Is there a way to stop this or do I have to make my tooltip some other way to avoid this (seemingly bugged / unintentional) behaviour?