From 3b6c75dc318223a7e559805ed9802c46c73f2f28 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 29 Jul 2019 14:10:54 +0200 Subject: Fix T67620: Font preview translations malfunction in Blender 2.8 We cannot reliably use translations API from non-main threads. Now storing translated strings in a static cache, with basic mechanism to update it on language change. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5350 --- source/blender/blenfont/BLF_api.h | 1 + source/blender/blenfont/intern/blf_thumbs.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/blenfont') diff --git a/source/blender/blenfont/BLF_api.h b/source/blender/blenfont/BLF_api.h index 448bb0d621a..bf0aa96df84 100644 --- a/source/blender/blenfont/BLF_api.h +++ b/source/blender/blenfont/BLF_api.h @@ -223,6 +223,7 @@ void BLF_dir_free(char **dirs, int count) ATTR_NONNULL(); /* blf_thumbs.c */ void BLF_thumb_preview(const char *filename, const char **draw_str, + const char **i18n_draw_str, const unsigned char draw_str_lines, const float font_color[4], const int font_size, diff --git a/source/blender/blenfont/intern/blf_thumbs.c b/source/blender/blenfont/intern/blf_thumbs.c index 802f97fc5f5..d6710b91539 100644 --- a/source/blender/blenfont/intern/blf_thumbs.c +++ b/source/blender/blenfont/intern/blf_thumbs.c @@ -50,6 +50,7 @@ */ void BLF_thumb_preview(const char *filename, const char **draw_str, + const char **i18n_draw_str, const unsigned char draw_str_lines, const float font_color[4], const int font_size, @@ -90,7 +91,7 @@ void BLF_thumb_preview(const char *filename, blf_draw_buffer__start(font); for (i = 0; i < draw_str_lines; i++) { - const char *draw_str_i18n = BLT_translate_do(BLT_I18NCONTEXT_DEFAULT, draw_str[i]); + const char *draw_str_i18n = i18n_draw_str[i] != NULL ? i18n_draw_str[i] : draw_str[i]; const size_t draw_str_i18n_len = strlen(draw_str_i18n); int draw_str_i18n_nbr = 0; -- cgit v1.2.3