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:
Diffstat (limited to 'source/blender/makesrna/intern/rna_access.c')
-rw-r--r--source/blender/makesrna/intern/rna_access.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index cd9b23da5d3..264396fd873 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -62,7 +62,7 @@
#include "rna_internal.h"
-const PointerRNA PointerRNA_NULL= {{NULL}};
+LIBEXPORT const PointerRNA PointerRNA_NULL= {{NULL}};
/* Init/Exit */
@@ -663,6 +663,18 @@ StructUnregisterFunc RNA_struct_unregister(StructRNA *type)
return NULL;
}
+void **RNA_struct_instance(PointerRNA *ptr)
+{
+ StructRNA *type= ptr->type;
+
+ do {
+ if(type->instance)
+ return type->instance(ptr);
+ } while((type=type->base));
+
+ return NULL;
+}
+
void *RNA_struct_py_type_get(StructRNA *srna)
{
return srna->py_type;
@@ -1314,6 +1326,11 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR
else
prop->update(bmain, scene, ptr);
}
+ else if(!(prop->flag & PROP_BUILTIN)) {
+ DAG_id_tag_update(ptr->id.data, OB_RECALC_ALL);
+ WM_main_add_notifier(NC_WINDOW, NULL);
+ }
+
if(prop->noteflag)
WM_main_add_notifier(prop->noteflag, ptr->id.data);
}