Fix for infinite freestyle re-render in the viewport
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 15 Jan 2014 11:42:01 +0000 (17:42 +0600)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 15 Jan 2014 11:42:01 +0000 (17:42 +0600)
Was a regression since e618d8238e0e and was caused by the wrong
main being tagged for update.

source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
source/blender/render/intern/source/convertblender.c

index 8d8b39a6358b657f790911afa7258eee9967f046..1fc5684f9d7095c2993bb668cbf13b3e12c8265f 100644 (file)
@@ -472,7 +472,8 @@ Object *BlenderStrokeRenderer::NewMesh() const
 #else
        (void)base;
 #endif
-       DAG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);
+
+       DAG_id_tag_update_ex(freestyle_bmain, &ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);
 
        return ob;
 }
index 57d7a87199c52dc46cc0abe3a5ed76cdd23378a1..4f7fbe72b736862644471594349e321403f2c272 100644 (file)
@@ -5148,7 +5148,7 @@ void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int l
                RE_SetView(re, mat);
 
                /* force correct matrix for scaled cameras */
-               DAG_id_tag_update(&camera->id, OB_RECALC_OB);
+               DAG_id_tag_update_ex(re->main, &camera->id, OB_RECALC_OB);
        }
        
        /* store for incremental render, viewmat rotates dbase */