Cleanup: remove DNA_PRIVATE_WORKSPACE hacks.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 2 Apr 2019 11:21:21 +0000 (13:21 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Tue, 2 Apr 2019 11:32:25 +0000 (13:32 +0200)
This is just not practical to do for the code as a whole, and having it as an
exception for one specific data structure is not that helpful. This has only
been in the way for me when refactoring code.

source/blender/blenkernel/intern/workspace.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/makesdna/DNA_workspace_types.h
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/rna_workspace.c

index d4adc78..e264856 100644 (file)
@@ -18,9 +18,6 @@
  * \ingroup bke
  */
 
-/* allow accessing private members of DNA_workspace_types.h */
-#define DNA_PRIVATE_WORKSPACE_ALLOW
-
 #include <stdlib.h>
 #include <string.h>
 
index f6742ac..eedd116 100644 (file)
 
 /* allow readfile to use deprecated functionality */
 #define DNA_DEPRECATED_ALLOW
-/* Allow using DNA struct members that are marked as private for read/write.
- * Note: Each header that uses this needs to define its own way of handling
- * it. There's no generic implementation, direct use does nothing. */
-#define DNA_PRIVATE_READ_WRITE_ALLOW
 
 #include "DNA_anim_types.h"
 #include "DNA_armature_types.h"
index ebc46d7..e0746c7 100644 (file)
 
 /* allow writefile to use deprecated functionality (for forward compatibility code) */
 #define DNA_DEPRECATED_ALLOW
-/* Allow using DNA struct members that are marked as private for read/write.
- * Note: Each header that uses this needs to define its own way of handling
- * it. There's no generic implementation, direct use does nothing. */
-#define DNA_PRIVATE_READ_WRITE_ALLOW
 
 #include "DNA_anim_types.h"
 #include "DNA_armature_types.h"
index 3212ddb..37277d7 100644 (file)
@@ -17,9 +17,7 @@
 /** \file
  * \ingroup DNA
  *
- * Use API in BKE_workspace.h!
- * Struct members marked with DNA_PRIVATE_WORKSPACE will throw a
- * warning saying it's deprecated when used outside of workspace.c.
+ * Use API in BKE_workspace.h to edit these.
  */
 
 #ifndef __DNA_WORKSPACE_TYPES_H__
 
 #include "DNA_scene_types.h"
 
-/* Same logic as DNA_DEPRECATED_ALLOW, but throws 'deprecated'
- * warnings if DNA_PRIVATE_WORKSPACE_ALLOW is not defined */
-#ifdef DNA_PRIVATE_WORKSPACE_ALLOW
-   /* allow use of private items */
-#  define DNA_PRIVATE_WORKSPACE
-#else
-#  ifndef DNA_PRIVATE_WORKSPACE
-#    define DNA_PRIVATE_WORKSPACE DNA_PRIVATE_ATTR
-#  endif
-#endif
-
-#ifdef DNA_PRIVATE_READ_WRITE_ALLOW
-#  define DNA_PRIVATE_WORKSPACE_READ_WRITE
-#else
-#  ifndef DNA_PRIVATE_WORKSPACE_READ_WRITE
-#    define DNA_PRIVATE_WORKSPACE_READ_WRITE DNA_PRIVATE_WORKSPACE
-#  endif
-#endif
-
 /* Currently testing, allow to disable. */
 #define USE_WORKSPACE_TOOL
 
@@ -111,25 +90,25 @@ typedef struct WorkSpaceLayout {
        /* The name of this layout, we override the RNA name of the screen with this
         * (but not ID name itself) */
        /** MAX_NAME. */
-       char name[64] DNA_PRIVATE_WORKSPACE;
+       char name[64];
 } WorkSpaceLayout;
 
 /** Optional tags, which features to use, aligned with #bAddon names by convention. */
 typedef struct wmOwnerID {
        struct wmOwnerID *next, *prev;
        /** MAX_NAME. */
-       char name[64] DNA_PRIVATE_WORKSPACE;
+       char name[64];
 } wmOwnerID;
 
 typedef struct WorkSpace {
        ID id;
 
        /** WorkSpaceLayout. */
-       ListBase layouts DNA_PRIVATE_WORKSPACE;
+       ListBase layouts;
        /* Store for each hook (so for each window) which layout has
         * been activated the last time this workspace was visible. */
        /** WorkSpaceDataRelation. */
-       ListBase hook_layout_relations DNA_PRIVATE_WORKSPACE_READ_WRITE;
+       ListBase hook_layout_relations;
 
        /* Feature tagging (use for addons) */
        /** #wmOwnerID. */
@@ -160,9 +139,6 @@ typedef struct WorkSpace {
        char *status_text;
 } WorkSpace;
 
-/* internal struct, but exported for read/write */
-#if defined(DNA_PRIVATE_READ_WRITE_ALLOW) || defined(DNA_PRIVATE_WORKSPACE_ALLOW)
-
 /**
  * Generic (and simple/primitive) struct for storing a history of assignments/relations
  * of workspace data to non-workspace data in a listbase inside the workspace.
@@ -196,15 +172,13 @@ typedef struct WorkSpaceDataRelation {
        void *value;
 } WorkSpaceDataRelation;
 
-#endif /* DNA_PRIVATE_WORKSPACE_READ_WRITE */
-
 /**
  * Little wrapper to store data that is going to be per window, but coming from the workspace.
  * It allows us to keep workspace and window data completely separate.
  */
 typedef struct WorkSpaceInstanceHook {
-       WorkSpace *active DNA_PRIVATE_WORKSPACE;
-       struct WorkSpaceLayout *act_layout DNA_PRIVATE_WORKSPACE;
+       WorkSpace *active;
+       struct WorkSpaceLayout *act_layout;
 
        /* Needed because we can't change workspaces/layouts in running handler loop,
         * it would break context. */
index 4e16aec..2467a34 100644 (file)
@@ -617,17 +617,6 @@ static int preprocess_include(char *maindata, const int maindata_len)
                        a -= 13;
                        cp += 13;
                }
-               else if (strncmp("DNA_PRIVATE_WORKSPACE", cp, 21) == 0) {
-                       /* Check for DNA_PRIVATE_WORKSPACE_READ_WRITE */
-                       if (strncmp("_READ_WRITE", cp + 21, 11) == 0) {
-                               a -= 31;
-                               cp += 31;
-                       }
-                       else {
-                               a -= 20;
-                               cp += 20;
-                       }
-               }
                else {
                        md[0] = cp[0];
                        md++;
index ab0af6c..d075439 100644 (file)
@@ -33,8 +33,6 @@
 
 #include "rna_internal.h"
 
-/* Allow accessing private members of DNA_workspace_types.h */
-#define DNA_PRIVATE_WORKSPACE_ALLOW
 #include "DNA_workspace_types.h"
 
 #ifdef RNA_RUNTIME