[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