Fix Cycles viewport render fully restarting after undo

With the optimized undo datablock pointers remain the same, so Cycles can now
update just the parts that changed.
This commit is contained in:
Brecht Van Lommel
2020-05-20 01:11:42 +02:00
parent 499c0229f7
commit 8f050b6825

View File

@@ -8137,19 +8137,6 @@ static void lib_link_workspace_layout_restore(struct IDNameLib_Map *id_map,
v3d->camera = restore_pointer_by_name(id_map, (ID *)v3d->camera, USER_REAL);
v3d->ob_center = restore_pointer_by_name(id_map, (ID *)v3d->ob_center, USER_REAL);
/* Free render engines for now. */
ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase :
&sl->regionbase;
for (region = regionbase->first; region; region = region->next) {
if (region->regiontype == RGN_TYPE_WINDOW) {
RegionView3D *rv3d = region->regiondata;
if (rv3d && rv3d->render_engine) {
RE_engine_free(rv3d->render_engine);
rv3d->render_engine = NULL;
}
}
}
}
else if (sl->spacetype == SPACE_GRAPH) {
SpaceGraph *sipo = (SpaceGraph *)sl;