bugfix [#24690] Scene.frame_set() breaks pose restore
authorCampbell Barton <ideasman42@gmail.com>
Wed, 17 Nov 2010 17:38:56 +0000 (17:38 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 17 Nov 2010 17:38:56 +0000 (17:38 +0000)
scene.frame_set() was sending out a frame change notifier which would update the scene loosing any un-keyed changes after a script ran.
for now use a window redraw notifier.

source/blender/makesrna/intern/rna_scene_api.c

index f06f55a4e373d50cab9a7bb203b4dfff605f69d6..f14b57e2b33662fd609c215ce72bf866d92e4065 100644 (file)
@@ -55,7 +55,12 @@ static void rna_Scene_frame_set(Scene *scene, int frame, float subframe)
        CLAMP(scene->r.cfra, MINAFRAME, MAXFRAME);
        scene_update_for_newframe(G.main, scene, (1<<20) - 1);
 
-       WM_main_add_notifier(NC_SCENE|ND_FRAME, scene);
+       /* cant use NC_SCENE|ND_FRAME because this casues wm_event_do_notifiers to call 
+        * scene_update_for_newframe which will loose any un-keyed changes [#24690] */
+       /* WM_main_add_notifier(NC_SCENE|ND_FRAME, scene); */
+       
+       /* instead just redraw the views */
+       WM_main_add_notifier(NC_WINDOW, NULL);
 }
 
 static void rna_Scene_update_tagged(Scene *scene)