From a6cd20716e61afe6116aa2e98ef0c3465e142659 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 21 Apr 2021 17:39:02 +1000 Subject: Fix T87562: Keymap preferences from 2.92x ignored Renaming presets in 01d49d1542cee0da2a7629443f9534bc5cec5a55 caused them to be treated as separate key-maps. --- source/blender/blenloader/intern/versioning_userdef.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source/blender/blenloader') diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c index 847b10192f8..be3834faa5a 100644 --- a/source/blender/blenloader/intern/versioning_userdef.c +++ b/source/blender/blenloader/intern/versioning_userdef.c @@ -24,6 +24,7 @@ #include "BLI_listbase.h" #include "BLI_math.h" +#include "BLI_string.h" #include "BLI_utildefines.h" #ifdef WITH_INTERNATIONAL @@ -841,6 +842,23 @@ void blo_do_versions_userdef(UserDef *userdef) } } + if (!USER_VERSION_ATLEAST(293, 1)) { + /* This rename was made after 2.93.0, harmless to run when it's not needed. */ + const char *replace_table[][2] = { + {"blender", "Blender"}, + {"blender_27x", "Blender_27x"}, + {"industry_compatible", "Industry_Compatible"}, + }; + const int replace_table_len = ARRAY_SIZE(replace_table); + + BLI_str_replace_table_exact( + userdef->keyconfigstr, sizeof(userdef->keyconfigstr), replace_table, replace_table_len); + LISTBASE_FOREACH (wmKeyConfigPref *, kpt, &userdef->user_keyconfig_prefs) { + BLI_str_replace_table_exact( + kpt->idname, sizeof(kpt->idname), replace_table, replace_table_len); + } + } + if (!USER_VERSION_ATLEAST(293, 2)) { /* Enable asset browser features by default for alpha testing. * BLO_sanitize_experimental_features_userpref_blend() will disable it again for non-alpha -- cgit v1.2.3