[Bf-extensions-cvs] [0a6d3d72] master: animation_animall: workaround for data refresh: T68332 T68666

Damien Picard noreply at git.blender.org
Tue Sep 3 14:56:25 CEST 2019


Commit: 0a6d3d725f0b6edc99198f6afa91138968580caf
Author: Damien Picard
Date:   Tue Sep 3 14:47:18 2019 +0200
Branches: master
https://developer.blender.org/rBA0a6d3d725f0b6edc99198f6afa91138968580caf

animation_animall: workaround for data refresh: T68332 T68666

===================================================================

M	animation_animall.py

===================================================================

diff --git a/animation_animall.py b/animation_animall.py
index df658ff3..f919bbb9 100644
--- a/animation_animall.py
+++ b/animation_animall.py
@@ -44,6 +44,7 @@ from bpy.props import (
         BoolProperty,
         StringProperty,
         )
+from bpy.app.handlers import persistent
 
 
 # Property Definitions
@@ -563,6 +564,15 @@ class AnimallAddonPreferences(AddonPreferences):
         col.prop(self, "category", text="")
 
 
+ at persistent
+def animall_update_handler(scene):
+    '''Force data refresh on frame change.
+    To be removed when T68666 is fixed, probably.'''
+    for obj in scene.objects:
+        if obj.data is not None:
+            obj.update_tag(refresh={'DATA'})
+
+
 def register():
     bpy.utils.register_class(AnimallProperties)
     bpy.types.WindowManager.animall_properties = bpy.props.PointerProperty(type=AnimallProperties)
@@ -572,6 +582,7 @@ def register():
     bpy.utils.register_class(ANIM_OT_clear_animation_animall)
     bpy.utils.register_class(AnimallAddonPreferences)
     update_panel(None, bpy.context)
+    bpy.app.handlers.frame_change_post.append(animall_update_handler)
 
 
 def unregister():
@@ -582,6 +593,7 @@ def unregister():
     bpy.utils.unregister_class(ANIM_OT_delete_keyframe_animall)
     bpy.utils.unregister_class(ANIM_OT_clear_animation_animall)
     bpy.utils.unregister_class(AnimallAddonPreferences)
+    bpy.app.handlers.frame_change_post.remove(animall_update_handler)
 
 if __name__ == "__main__":
     register()



More information about the Bf-extensions-cvs mailing list