From 5bf4a35bf7d255bea6e69915727f55553ba182d9 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Tue, 29 Apr 2025 02:40:32 +0200 Subject: [PATCH] Fix class reference discrepancy when using `--doctool` with TextServerFallback This is noticeable if you use an editor build compiled with the `module_text_server_adv_enabled=no module_text_server_fb_enabled=yes` SCons options. --- scene/resources/text_line.cpp | 4 ++++ scene/resources/text_paragraph.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/scene/resources/text_line.cpp b/scene/resources/text_line.cpp index 79a33a4ad6f..4c6d40e8867 100644 --- a/scene/resources/text_line.cpp +++ b/scene/resources/text_line.cpp @@ -39,6 +39,10 @@ void TextLine::_bind_methods() { ClassDB::bind_method(D_METHOD("get_inferred_direction"), &TextLine::get_inferred_direction); ADD_PROPERTY(PropertyInfo(Variant::INT, "direction", PROPERTY_HINT_ENUM, "Auto,Left-to-right,Right-to-left"), "set_direction", "get_direction"); + // If compiling the editor with TextServerFallback only, + // `--doctool` would change the default value to `TextServer::DIRECTION_LTR`. + // Force it so that it's consistent regardless of the backend. + ADD_PROPERTY_DEFAULT("direction", TextServer::DIRECTION_AUTO); ClassDB::bind_method(D_METHOD("set_orientation", "orientation"), &TextLine::set_orientation); ClassDB::bind_method(D_METHOD("get_orientation"), &TextLine::get_orientation); diff --git a/scene/resources/text_paragraph.cpp b/scene/resources/text_paragraph.cpp index 2fde3b77718..9defe82ec06 100644 --- a/scene/resources/text_paragraph.cpp +++ b/scene/resources/text_paragraph.cpp @@ -39,6 +39,10 @@ void TextParagraph::_bind_methods() { ClassDB::bind_method(D_METHOD("get_inferred_direction"), &TextParagraph::get_inferred_direction); ADD_PROPERTY(PropertyInfo(Variant::INT, "direction", PROPERTY_HINT_ENUM, "Auto,Light-to-right,Right-to-left"), "set_direction", "get_direction"); + // If compiling the editor with TextServerFallback only, + // `--doctool` would change the default value to `TextServer::DIRECTION_LTR`. + // Force it so that it's consistent regardless of the backend. + ADD_PROPERTY_DEFAULT("direction", TextServer::DIRECTION_AUTO); ClassDB::bind_method(D_METHOD("set_custom_punctuation", "custom_punctuation"), &TextParagraph::set_custom_punctuation); ClassDB::bind_method(D_METHOD("get_custom_punctuation"), &TextParagraph::get_custom_punctuation);