Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2019-09-12 12:25:37 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2019-09-12 14:33:46 +0300
commit19547236355d59bc3888635ecbe4a9e35c1f86cb (patch)
tree7982264500ee3633acdc3a0e9ac8cef667555e9c /source
parent613b37bc2c81202a34346b40465923e8f47cebbf (diff)
Cycles: Fix Show Instanced Local View Objects
The local view check in the RNA didn't support instanced objects. Every object has a copy of the local_view_bits from the base. This patch changes the check to look at the local stored bits. This patch removes the check if the object is part of the view_layer. In the cases we are using it this check is not relevant. The `mesh_tissue` add-on also uses it, and is not effected by this change. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5773
Diffstat (limited to 'source')
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c23
1 files changed, 7 insertions, 16 deletions
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index e26c430eb16..56d25f5bebf 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -250,18 +250,14 @@ static Base *rna_Object_local_view_property_helper(bScreen *sc,
return base;
}
-static bool rna_Object_local_view_get(Object *ob,
- ReportList *reports,
- PointerRNA *v3d_ptr,
- ViewLayer *view_layer)
+static bool rna_Object_local_view_get(Object *ob, ReportList *reports, View3D *v3d)
{
- bScreen *sc = (bScreen *)v3d_ptr->owner_id;
- View3D *v3d = v3d_ptr->data;
- Base *base = rna_Object_local_view_property_helper(sc, v3d, view_layer, ob, reports, NULL);
- if (base == NULL) {
- return false; /* Error reported. */
+ if (v3d->localvd == NULL) {
+ BKE_report(reports, RPT_ERROR, "Viewport not in local view");
+ return false;
}
- return (base->local_view_bits & v3d->local_view_uuid) != 0;
+
+ return ((ob->base_local_view_bits & v3d->local_view_uuid) != 0);
}
static void rna_Object_local_view_set(Object *ob,
@@ -817,12 +813,7 @@ void RNA_api_object(StructRNA *srna)
RNA_def_function_ui_description(func, "Get the local view state for this object");
RNA_def_function_flag(func, FUNC_USE_REPORTS);
parm = RNA_def_pointer(func, "viewport", "SpaceView3D", "", "Viewport in local view");
- RNA_def_parameter_flags(parm, 0, PARM_RNAPTR | PARM_REQUIRED);
- parm = RNA_def_pointer(func,
- "view_layer",
- "ViewLayer",
- "",
- "Optional ViewLayer. Preferably passed for additional performance");
+ RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
parm = RNA_def_boolean(func, "result", 0, "", "Object local view state");
RNA_def_function_return(func, parm);