[RichTextLabel] Fix thread unsafe set_physics_process_internal usage. Use WorkerThreadPool instead of creating new threads.
This commit is contained in:
parent
551f5191e5
commit
0cc1f4240a
3 changed files with 28 additions and 13 deletions
|
|
@ -4068,7 +4068,6 @@ void TextServerAdvanced::_realign(ShapedTextDataAdvanced *p_sd) const {
|
|||
|
||||
RID TextServerAdvanced::_shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
const ShapedTextDataAdvanced *sd = shaped_owner.get_or_null(p_shaped);
|
||||
ERR_FAIL_COND_V(!sd, RID());
|
||||
|
||||
|
|
@ -5513,6 +5512,7 @@ void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_star
|
|||
}
|
||||
|
||||
bool TextServerAdvanced::_shaped_text_shape(const RID &p_shaped) {
|
||||
_THREAD_SAFE_METHOD_
|
||||
ShapedTextDataAdvanced *sd = shaped_owner.get_or_null(p_shaped);
|
||||
ERR_FAIL_COND_V(!sd, false);
|
||||
|
||||
|
|
@ -6569,6 +6569,7 @@ TextServerAdvanced::TextServerAdvanced() {
|
|||
}
|
||||
|
||||
void TextServerAdvanced::_cleanup() {
|
||||
_THREAD_SAFE_METHOD_
|
||||
for (const KeyValue<SystemFontKey, SystemFontCache> &E : system_fonts) {
|
||||
const Vector<SystemFontCacheRec> &sysf_cache = E.value.var;
|
||||
for (const SystemFontCacheRec &F : sysf_cache) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue