Blender Git Commit Log

Git Commits -> Revision 26ae14d

Revision 26ae14d by Sergey Sharybin (master)
January 23, 2014, 13:35 (GMT)
Fix crash when changing space type to 3D space when having multiple windows

it is possible that different windows shares scene but displays different
layers. And it's also possible that different areas in the same window will
show different layers.

First case was violated in `dag_current_scene_layers()` which only checked
scene layers only once and if multiple windows shares the same scene only
one window was handled. Now made it so layers from all windows will be
squashed together into a single `DagSceneLayer`. This mainly solves issue
with `DAG_on_visible_update()` which didn't work reliable with multiple
open windows.

Second case required call of `DAG_on_visible_update()` when changing space
are type.

This commit slows things a bit actually because `dag_current_scene_layers()`
is actually called on every main WM loop iteration. It is possible to speed
some logic up perhaps. Not sure it's so much critical to do now because there
are unlikely to be more than few windows open anyway.

Will rather think of skipping all that flushing things if no objects are
tagged for update actually.

Commit Details:

Full Hash: 26ae14d2dccd0d34edfe9f26a4126e9a69e74983
Parent Commit: 64bd4be
Lines Changed: +30, -5

2 Modified Paths:

/source/blender/blenkernel/intern/depsgraph.c (+24, -5) (Diff)
/source/blender/makesrna/intern/rna_screen.c (+6, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021