From 8342a124c462104c12a98cca0b16e69920316346 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Wed, 8 May 2019 09:45:20 +0200 Subject: DepsGraph: Multi ViewLayer Selection When using multiple viewlayers and switching between them the selection gets buggy. The reason for this is that the select_id is updated based on the index in the viewlayer. This makes the select_id not unique as objects might be shared or not shared at all. This fix will update the select_id on all objects in main. This will be triggered in all the selection operators. Reviewed By: sergey, brecht Maniphest Tasks: T55617 Differential Revision: https://developer.blender.org/D4824 --- source/blender/makesdna/DNA_object_types.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'source/blender/makesdna/DNA_object_types.h') diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 1aeb4a2f4d2..ae781ac4e9e 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -136,6 +136,10 @@ typedef struct Object_Runtime { /** Only used for drawing the parent/child help-line. */ float parent_display_origin[3]; + /** Selection id of this object; only available in the original object */ + int select_id; + char _pad1[4]; + /** Axis aligned boundbox (in localspace). */ struct BoundBox *bb; @@ -365,9 +369,7 @@ typedef struct Object { char empty_image_visibility_flag; char empty_image_depth; char empty_image_flag; - char _pad8[1]; - - int select_id; + char _pad8[5]; /** Contains data for levels of detail. */ ListBase lodlevels; -- cgit v1.2.3