[Bf-blender-cvs] [cdf0d95a50e] master: Fix T77126: Documented frame_change_pre and frame_change_post handlers

Sybren A. Stüvel noreply at git.blender.org
Tue Jun 2 17:33:06 CEST 2020


Commit: cdf0d95a50e6ea5592e65242c3c8ffbdfd4629a0
Author: Sybren A. Stüvel
Date:   Tue Jun 2 16:33:35 2020 +0200
Branches: master
https://developer.blender.org/rBcdf0d95a50e6ea5592e65242c3c8ffbdfd4629a0

Fix T77126: Documented frame_change_pre and frame_change_post handlers

The documentation for the `frame_change_pre` and `frame_change_post`
handlers was really sparse, and suggested that `frame_change_pre` is
called before the frame changes. This is not the case; it's called after
the frame has changed, but before the dependency graph has been updated
for it.

No functional changes, just updated documentation.

Differential Revision: https://developer.blender.org/D7905

Reviewed by: sergey

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

M	source/blender/python/intern/bpy_app_handlers.c

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

diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c
index 28498e116df..dde1d13477f 100644
--- a/source/blender/python/intern/bpy_app_handlers.c
+++ b/source/blender/python/intern/bpy_app_handlers.c
@@ -44,8 +44,16 @@ void bpy_app_generic_callback(struct Main *main,
 static PyTypeObject BlenderAppCbType;
 
 static PyStructSequence_Field app_cb_info_fields[] = {
-    {"frame_change_pre", "on frame change for playback and rendering (before)"},
-    {"frame_change_post", "on frame change for playback and rendering (after)"},
+    {"frame_change_pre",
+     "Called after frame change for playback and rendering, before any data is evaluated for the "
+     "new frame. This makes it possible to change data and relations (for example swap an object "
+     "to another mesh) for the new frame. Note that this handler is **not** to be used as 'before "
+     "the frame changes' event. The dependency graph is not available in this handler, as data "
+     "and relations may have been altered and the dependency graph has not yet been updated for "
+     "that."},
+    {"frame_change_post",
+     "Called after frame change for playback and rendering, after the data has been evaluated "
+     "for the new frame."},
     {"render_pre", "on render (before)"},
     {"render_post", "on render (after)"},
     {"render_write", "on writing a render frame (directly after the frame is written)"},



More information about the Bf-blender-cvs mailing list