[Bf-blender-cvs] [8e0fc277222] master: Cleanup: use static assert to disable access to preferences
Campbell Barton
noreply at git.blender.org
Thu Sep 17 07:34:37 CEST 2020
Commit: 8e0fc27722217aca071496b2c2d4d1011238746a
Author: Campbell Barton
Date: Thu Sep 17 15:23:23 2020 +1000
Branches: master
https://developer.blender.org/rB8e0fc27722217aca071496b2c2d4d1011238746a
Cleanup: use static assert to disable access to preferences
Prefer this over an unknown identifier as it gives a useful error.
===================================================================
M source/blender/blenkernel/intern/blender.c
M source/blender/blenloader/intern/versioning_userdef.c
===================================================================
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 1d5c8f76cc5..d5980119a38 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -260,8 +260,8 @@ static void userdef_free_addons(UserDef *userdef)
*/
void BKE_blender_userdef_data_free(UserDef *userdef, bool clear_fonts)
{
-#define U _invalid_access_ /* ensure no accidental global access */
-#ifdef U /* quiet warning */
+#define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
+#ifdef U /* quiet warning */
#endif
userdef_free_keymaps(userdef);
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index 36abbaf62cf..691258a5a8c 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -48,8 +48,8 @@
#include "wm_event_types.h"
-/* Disallow access to global userdef. */
-#define U (_error_)
+/* For versioning we only ever want to manipulate preferences passed in. */
+#define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
{
More information about the Bf-blender-cvs
mailing list