Fix for multiple modifier stack calculations per frame.
authorCampbell Barton <ideasman42@gmail.com>
Thu, 23 Dec 2010 04:16:31 +0000 (04:16 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 23 Dec 2010 04:16:31 +0000 (04:16 +0000)
commitc046ae14be2e0142c3ea9c5d81b946594043c3f7
tree8c6d502768d872e245d42a45507075bc1ed5ab0a
parent86b89af5ddaede7bedf6a98f20e0b4f92e5796b2
Fix for multiple modifier stack calculations per frame.

Since 2.5x blender has been using CD_MASK_BAREMESH for updating objects since object_handle_update() no longer has access to G.curscreen to calculate the mask from viewports.

The problem with this is after an initial calculation, CD_MASK_MTFACE may be required on draw, so it would recalculate the modifier stack multiple times per frame.
One case which caused this is armature animated mesh with texface in a dupligroup.

Fix this by having customdata_mask member in the scene, this isn't great design but at least fixes the bug and only changes a few files.
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/editors/include/ED_view3d.h
source/blender/editors/space_view3d/view3d_draw.c
source/blender/makesdna/DNA_scene_types.h
source/blender/windowmanager/intern/wm_event_system.c