From 52baf87f1f12fcaa206bbef514d66c32fadbd9e2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Sep 2018 19:58:37 +1000 Subject: [PATCH] Cleanup: move theme versioning into own function --- .../blenloader/intern/versioning_userdef.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c index 6ca7bba1ed2..a55568129c5 100644 --- a/source/blender/blenloader/intern/versioning_userdef.c +++ b/source/blender/blenloader/intern/versioning_userdef.c @@ -39,8 +39,21 @@ #include "BLO_readfile.h" /* Own include. */ +/* Disallow access to global userdef. */ #define U (_error_) +#define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver) + +static void do_versions_theme(UserDef *userdef, bTheme *btheme) +{ + if (!USER_VERSION_ATLEAST(280, 20)) { + memcpy(btheme, &U_theme_default, sizeof(*btheme)); + } +} + +#undef USER_VERSION_ATLEAST + + /* patching UserDef struct and Themes */ void BLO_version_defaults_userpref_blend(Main *bmain, UserDef *userdef) { @@ -323,4 +336,8 @@ void BLO_version_defaults_userpref_blend(Main *bmain, UserDef *userdef) #endif /* this timer uses U */ // XXX reset_autosave(); + + for (bTheme *btheme = userdef->themes.first; btheme; btheme = btheme->next) { + do_versions_theme(userdef, btheme); + } }