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:
authorCampbell Barton <ideasman42@gmail.com>2016-03-05 09:40:33 +0300
committerCampbell Barton <ideasman42@gmail.com>2016-03-05 09:40:33 +0300
commit40b748d40f7efddbd07f35081a3264215025ffb8 (patch)
tree4d2fc13732d952917733f091da20fd73bf4dcbbc /source/blender/blenkernel/intern/depsgraph.c
parent4e500101a7dd3ea578ca6d6f101c0d9ece7f5abc (diff)
Fix for missing update changing VFont.filepath
Changing the filepath wouldn't reload the font even after calling scene.update().
Diffstat (limited to 'source/blender/blenkernel/intern/depsgraph.c')
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 55c54cdac49..a029c8c7748 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -2586,7 +2586,18 @@ static void dag_id_flush_update(Main *bmain, Scene *sce, ID *id)
}
}
}
-
+ else if (idtype == ID_VF) {
+ for (obt = bmain->object.first; obt; obt = obt->id.next) {
+ if (obt->type == OB_FONT) {
+ Curve *cu = obt->data;
+ if (ELEM((struct VFont *)id, CURVE_VFONT_ANY(cu))) {
+ obt->recalc |= OB_RECALC_DATA;
+ lib_id_recalc_data_tag(bmain, &obt->id);
+ }
+ }
+ }
+ }
+
/* set flags based on textures - can influence depgraph via modifiers */
if (idtype == ID_TE) {
for (obt = bmain->object.first; obt; obt = obt->id.next) {
@@ -2953,18 +2964,6 @@ void DAG_id_tag_update_ex(Main *bmain, ID *id, short flag)
}
}
}
- else if (idtype == ID_VF) {
- /* this is weak still, should be done delayed as well */
- for (ob = bmain->object.first; ob; ob = ob->id.next) {
- if (ob->type == OB_FONT) {
- Curve *cu = ob->data;
-
- if (ELEM((struct VFont *)id, cu->vfont, cu->vfontb, cu->vfonti, cu->vfontbi)) {
- ob->recalc |= (flag & OB_RECALC_ALL);
- }
- }
- }
- }
else {
/* disable because this is called on various ID types automatically.
* where printing warning is not useful. for now just ignore */