diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-10-02 16:23:57 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-10-03 00:25:36 +0300 |
commit | e255040c7797a282cb0ea614e3f95c6a59cd0298 (patch) | |
tree | 74288668c0795403f7a44ff6e53588ef7568d611 /source/blender/windowmanager | |
parent | 15a9579a03f1ca65df477a1a39dbaef572ff3e9f (diff) |
Cleanup: run UserDef versioning from readfile.c
Now versioning UserDef is run in readfile.c,
as is done for other Blender data.
Previously versioning was mixed with other run-time initialization,
so it needed to be called later by the window manager.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 6e3a5ccb339..3f58ba9e5a0 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -69,6 +69,7 @@ #include "DNA_windowmanager_types.h" #include "DNA_workspace_types.h" +#include "BKE_addon.h" #include "BKE_appdir.h" #include "BKE_autoexec.h" #include "BKE_blender.h" @@ -388,10 +389,18 @@ static void wm_window_match_do(bContext *C, /** \name Preferences Initialization & Versioning * \{ */ -/* in case UserDef was read, we re-initialize all, and do versioning */ +/** + * In case #UserDef was read, re-initialize values that depend on it. + */ static void wm_init_userdef(Main *bmain) { - /* versioning is here */ + /* Not versioning, just avoid errors. */ +#ifndef WITH_CYCLES + BKE_addon_remove_safe(&U.addons, "cycles"); +#else + UNUSED_VARS(BKE_addon_remove_safe); +#endif + UI_init_userdef(); /* needed so loading a file from the command line respects user-pref T26156. */ @@ -406,11 +415,16 @@ static void wm_init_userdef(Main *bmain) MEM_CacheLimiter_set_maximum(((size_t)U.memcachelimit) * 1024 * 1024); BKE_sound_init(bmain); - /* update tempdir from user preferences */ + if (STREQ(U.tempdir, "/")) { + BKE_tempdir_system_init(U.tempdir); + } + /* Update `U.tempdir` from user preferences. */ BKE_tempdir_init(U.tempdir); /* Update tablet API preference. */ WM_init_tablet_api(); + + BLO_sanitize_experimental_features_userpref_blend(&U); } /* return codes */ |