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
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2022-02-14 19:48:52 +0300
committerThomas Dinges <blender@dingto.org>2022-02-14 19:48:52 +0300
commit19403fc852224b2c29df3e5f1f2106ba91f105a2 (patch)
tree59818c3cf9e14fbfa2e54ee8817bf1d8b78ea07c /source/blender/makesrna
parentd8e2f612ec52ce0272cbc8a5e9ff0c6b89ce16a6 (diff)
parenta5edff4b73ba74155dcad93103e2fef2c59df67f (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_object.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 83a0672bece..fd39ff893f1 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -331,6 +331,7 @@ const EnumPropertyItem rna_enum_object_axis_items[] = {
# include "BKE_key.h"
# include "BKE_material.h"
# include "BKE_mesh.h"
+# include "BKE_mesh_wrapper.h"
# include "BKE_modifier.h"
# include "BKE_object.h"
# include "BKE_particle.h"
@@ -510,6 +511,17 @@ void rna_Object_data_update(Main *bmain, Scene *scene, PointerRNA *ptr)
rna_Object_internal_update_data_dependency(bmain, scene, ptr);
}
+static PointerRNA rna_Object_data_get(PointerRNA *ptr)
+{
+ Object *ob = (Object *)ptr->data;
+ if (ob->type == OB_MESH) {
+ Mesh *me = (Mesh *)ob->data;
+ me = BKE_mesh_wrapper_ensure_subdivision(ob, me);
+ return rna_pointer_inherit_refine(ptr, &RNA_Mesh, me);
+ }
+ return rna_pointer_inherit_refine(ptr, &RNA_ID, ob->data);
+}
+
static void rna_Object_data_set(PointerRNA *ptr, PointerRNA value, struct ReportList *reports)
{
Object *ob = (Object *)ptr->data;
@@ -3041,8 +3053,11 @@ static void rna_def_object(BlenderRNA *brna)
prop = RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "ID");
- RNA_def_property_pointer_funcs(
- prop, NULL, "rna_Object_data_set", "rna_Object_data_typef", "rna_Object_data_poll");
+ RNA_def_property_pointer_funcs(prop,
+ "rna_Object_data_get",
+ "rna_Object_data_set",
+ "rna_Object_data_typef",
+ "rna_Object_data_poll");
RNA_def_property_flag(prop, PROP_EDITABLE | PROP_NEVER_UNLINK);
RNA_def_property_ui_text(prop, "Data", "Object data");
RNA_def_property_update(prop, 0, "rna_Object_data_update");