Revision: 41489
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41489
Author:   blendix
Date:     2011-11-03 10:03:08 +0000 (Thu, 03 Nov 2011)
Log Message:
-----------
Depsgraph/Python: ensure datablocks with animation data get tagged as being
updated on frame change.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/anim_sys.c
    trunk/blender/source/blender/blenkernel/intern/scene.c

Modified: trunk/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim_sys.c   2011-11-03 
09:20:54 UTC (rev 41488)
+++ trunk/blender/source/blender/blenkernel/intern/anim_sys.c   2011-11-03 
10:03:08 UTC (rev 41489)
@@ -51,6 +51,7 @@
 
 #include "BKE_animsys.h"
 #include "BKE_action.h"
+#include "BKE_depsgraph.h"
 #include "BKE_fcurve.h"
 #include "BKE_nla.h"
 #include "BKE_global.h"
@@ -1181,6 +1182,15 @@
                                        RNA_property_update_cache_add(&new_ptr, 
prop);
                        }
 #endif
+
+                       /* as long as we don't do property update, we still tag 
datablock
+                          as having been updated. this flag does not cause any 
updates to
+                          be run, it's for e.g. render engines to synchronize 
data */
+                       if(new_ptr.id.data) {
+                               ID *id= new_ptr.id.data;
+                               id->flag |= LIB_ID_RECALC;
+                               DAG_id_type_tag(G.main, GS(id->name));
+                       }
                }
                
                /* successful */
@@ -2322,7 +2332,7 @@
        /* particles */
        EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
        
-       /* lamps */
+       /* speakers */
        EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM);
 
        /* objects */

Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c      2011-11-03 
09:20:54 UTC (rev 41488)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c      2011-11-03 
10:03:08 UTC (rev 41489)
@@ -1067,6 +1067,8 @@
        /* keep this last */
        BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_SCENE_UPDATE_POST);
        BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_FRAME_CHANGE_POST);
+
+       DAG_ids_clear_recalc(bmain);
 }
 
 /* return default layer, also used to patch old files */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to