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:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-12-13 18:22:35 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-12-13 18:27:01 +0300
commitac3d477481006933be2359581eb590cd3f2bf2d6 (patch)
tree760906045e6b28660db6367864508d0b5a2c50df /source/blender/makesrna/intern/rna_ID.c
parent84c5ccca7441ddbb05e6377612d364e54a9750ff (diff)
RNA: Query is_updated flag from object data ID's rather than from object itself
Diffstat (limited to 'source/blender/makesrna/intern/rna_ID.c')
-rw-r--r--source/blender/makesrna/intern/rna_ID.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 44df8916796..c7446b5674a 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -772,6 +772,20 @@ static PointerRNA rna_IDPreview_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_ImagePreview, prv_img);
}
+static int rna_ID_is_updated_data_get(PointerRNA *ptr)
+{
+ ID *id = (ID *)ptr->data;
+ if (GS(id->name) != ID_OB) {
+ return 0;
+ }
+ Object *object = (Object *)id;
+ ID *data = object->data;
+ if (data == NULL) {
+ return 0;
+ }
+ return ((data->tag & LIB_TAG_ID_RECALC_ALL) != 0);
+}
+
static PointerRNA rna_ID_override_reference_get(PointerRNA *ptr)
{
ID *id = (ID *)ptr->data;
@@ -1028,8 +1042,8 @@ static void rna_def_ID(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Is Updated", "Data-block is tagged for recalculation");
prop = RNA_def_property(srna, "is_updated_data", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "tag", LIB_TAG_ID_RECALC_DATA);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_boolean_funcs(prop, "rna_ID_is_updated_data_get", NULL);
RNA_def_property_ui_text(prop, "Is Updated Data", "Data-block data is tagged for recalculation");
prop = RNA_def_property(srna, "is_library_indirect", PROP_BOOLEAN, PROP_NONE);