diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2016-10-07 04:33:50 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2016-10-07 04:56:32 +0300 |
commit | fc77787f6f51fdb7067806d664d508ea18528aae (patch) | |
tree | fb24496ff6018afa00ca818618762c58835440cc /source | |
parent | 49beb714c540a4ceecf6e818836e3ff4cd5a95eb (diff) |
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.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_intern.h | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_view3d_types.h | 13 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_space.c | 2 |
3 files changed, 13 insertions, 6 deletions
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index e71edb6048c..ae9b028bf7b 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 e1ccfefc155..a2b470e062b 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 407de341030..d169720c02b 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); |