diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index 7490a4592a2..34e9d906a8e 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -1001,6 +1001,12 @@ void RichTextLabel::_update_fx(RichTextLabel::ItemFrame *p_frame, float p_delta_ } } +void RichTextLabel::_validate_property(PropertyInfo &p_property) const { + if (use_bbcode && p_property.name == "text") { + p_property.usage &= ~PROPERTY_USAGE_EDITOR; + } +} + void RichTextLabel::_notification(int p_what) { switch (p_what) { case NOTIFICATION_MOUSE_EXIT: { @@ -2726,6 +2732,7 @@ void RichTextLabel::set_use_bbcode(bool p_enable) { } use_bbcode = p_enable; set_bbcode(bbcode); + property_list_changed_notify(); } bool RichTextLabel::is_using_bbcode() const { diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h index b1d077c9c76..9e478adcbe1 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -414,6 +414,7 @@ private: bool fit_content_height; protected: + virtual void _validate_property(PropertyInfo &p_property) const; void _notification(int p_what); public: