diff options
Diffstat (limited to 'source/blender/blenkernel/intern/screen.c')
-rw-r--r-- | source/blender/blenkernel/intern/screen.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index d8219b61816..63e35408381 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -236,6 +236,26 @@ void BKE_spacedata_copylist(ListBase *lb1, ListBase *lb2) } } +/* facility to set locks for drawing to survive (render) threads accessing drawing data */ +/* lock can become bitflag too */ +/* should be replaced in future by better local data handling for threads */ +void BKE_spacedata_draw_locks(int set) +{ + SpaceType *st; + + for(st= spacetypes.first; st; st= st->next) { + ARegionType *art; + + for(art= st->regiontypes.first; art; art= art->next) { + if(set) + art->do_lock= art->lock; + else + art->do_lock= 0; + } + } +} + + /* not region itself */ void BKE_area_region_free(SpaceType *st, ARegion *ar) { @@ -395,3 +415,4 @@ void BKE_screen_view3d_main_sync(ListBase *screen_lb, Scene *scene) BKE_screen_view3d_sync((View3D*)sl, scene); } } + |