Commit: fc77787f6f51fdb7067806d664d508ea18528aae
Author: Julian Eisel
Date:   Fri Oct 7 03:33:50 2016 +0200
Branches: blender2.8
https://developer.blender.org/rBfc77787f6f51fdb7067806d664d508ea18528aae

Avoid possible compatibility issues with tmp viewport flags

We can't prevent users from using this branch, so I'd say it's reasonable to be 
a bit careful about what we store to files. In this concrete case we were 
storing a bit-flag for temporary use (only during early viewport transition) in 
a bit-field that's saved in files. Doing so would mean we either can't reuse 
this bit later or we risk breaking files (admittedly, likely in a pretty minor 
way). Moved the bit-flag to a new bit-field which can be removed later.

===================================================================

M       source/blender/editors/space_view3d/view3d_intern.h
M       source/blender/makesdna/DNA_view3d_types.h
M       source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/source/blender/editors/space_view3d/view3d_intern.h 
b/source/blender/editors/space_view3d/view3d_intern.h
index e71edb6..ae9b028 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -318,7 +318,7 @@ extern bool view3d_camera_border_hack_test;
 #endif
 
 /* temporary test for blender 2.8 viewport */
-#define IS_VIEWPORT_LEGACY(v3d) (v3d->flag3 & V3D_NEW_VIEWPORT) == 0
+#define IS_VIEWPORT_LEGACY(v3d) (v3d->tmp_compat_flag & V3D_NEW_VIEWPORT) == 0
 
 /* temporary for legacy viewport to work */
 void VP_legacy_drawgrid(UnitSettings *unit, ARegion *ar, View3D *v3d, const 
char **grid_unit);
@@ -329,4 +329,4 @@ void VP_legacy_view3d_stereo3d_setup(Scene *scene, View3D 
*v3d, ARegion *ar);
 void draw_dupli_objects(Scene *scene, ARegion *ar, View3D *v3d, Base *base);
 bool VP_legacy_use_depth(Scene *scene, View3D *v3d);
 
-#endif /* __VIEW3D_INTERN_H__ */
\ No newline at end of file
+#endif /* __VIEW3D_INTERN_H__ */
diff --git a/source/blender/makesdna/DNA_view3d_types.h 
b/source/blender/makesdna/DNA_view3d_types.h
index e1ccfef..a2b470e 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -217,8 +217,11 @@ typedef struct View3D {
 
        char multiview_eye;                             /* multiview current 
eye - for internal use */
 
-       /* built-in shader effects (eGPUFXFlags) */
-       char pad3[4];
+       /* XXX tmp flags for 2.8 viewport transition to avoid compatibility 
issues that would be caused by
+        * using usual flag bitfields (which are saved to files). Can be 
removed when not needed anymore. */
+       char tmp_compat_flag;
+
+       char pad3[3];
 
        /* note, 'fx_settings.dof' is currently _not_ allocated,
         * instead set (temporarily) from camera */
@@ -319,7 +322,11 @@ typedef struct View3D {
 
 /* View3d->flag3 (short) */
 #define V3D_SHOW_WORLD                 (1 << 0)
-#define V3D_NEW_VIEWPORT               (1 << 1)
+
+/* View3d->tmp_compat_flag */
+enum {
+       V3D_NEW_VIEWPORT      = (1 << 0),
+};
 
 /* View3D->around */
 enum {
diff --git a/source/blender/makesrna/intern/rna_space.c 
b/source/blender/makesrna/intern/rna_space.c
index 407de34..d169720 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -2738,7 +2738,7 @@ static void rna_def_space_view3d(BlenderRNA *brna)
 
        /* *** Blender 2.8 Viewport temporary *** */
        prop = RNA_def_property(srna, "use_modern_viewport", PROP_BOOLEAN, 
PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag3", V3D_NEW_VIEWPORT);
+       RNA_def_property_boolean_sdna(prop, NULL, "tmp_compat_flag", 
V3D_NEW_VIEWPORT);
        RNA_def_property_ui_text(prop, "Modern Viewport", "Use modern 
viewport");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to