Commit: e5194835de457d69def325767c912035bc994f5c
Author: Brecht Van Lommel
Date: Fri Mar 1 00:34:25 2019 +0100
Branches: master
https://developer.blender.org/rBe5194835de457d69def325767c912035bc994f5c
Fix T61929: crash on undo in some files with local view.
===================================================================
M source/blender/blenloader/intern/readfile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c
b/source/blender/blenloader/intern/readfile.c
index 7145e67a4f2..fec4f3486d5 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7823,7 +7823,9 @@ static void lib_link_window_scene_data_restore(wmWindow
*win, Scene *scene, View
v3d->localvd = NULL;
v3d->local_view_uuid = 0;
- for (ARegion *ar =
area->regionbase.first; ar; ar = ar->next) {
+ /* Regionbase storage is
different depending if the space is active. */
+ ListBase *regionbase = (sl ==
area->spacedata.first) ? &area->regionbase : &sl->regionbase;
+ for (ARegion *ar =
regionbase->first; ar; ar = ar->next) {
if (ar->regiontype ==
RGN_TYPE_WINDOW) {
RegionView3D
*rv3d = ar->regiondata;
if
(rv3d->localvd) {
@@ -7854,8 +7856,9 @@ static void lib_link_workspace_layout_restore(struct
IDNameLib_Map *id_map, Main
v3d->camera =
restore_pointer_by_name(id_map, (ID *)v3d->camera, USER_REAL);
v3d->ob_centre =
restore_pointer_by_name(id_map, (ID *)v3d->ob_centre, USER_REAL);
- /* free render engines for now */
- for (ar = sa->regionbase.first; ar; ar
= ar->next) {
+ /* Free render engines for now. */
+ ListBase *regionbase = (sl ==
sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
+ for (ar = regionbase->first; ar; ar =
ar->next) {
if (ar->regiontype ==
RGN_TYPE_WINDOW) {
RegionView3D *rv3d =
ar->regiondata;
if (rv3d &&
rv3d->render_engine) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs