diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index e18a56e0f..627381628 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: { @@ -2725,6 +2731,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 7c7587926..983fc2bba 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -416,6 +416,7 @@ private: bool fit_content_height; protected: + virtual void _validate_property(PropertyInfo &p_property) const; void _notification(int p_what); public: