Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/scene/scene_edit.c
| Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | if (scene->id.us == 0) { | ||||
| BKE_libblock_free(bmain, scene); | BKE_libblock_free(bmain, scene); | ||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| void ED_scene_exit(bContext *C) | void ED_scene_exit(bContext *C) | ||||
| { | { | ||||
| #if 0 /* Happens in ED_workspace_refresh now. */ | |||||
| ED_object_editmode_exit(C, EM_FREEDATA | EM_DO_UNDO); | ED_object_editmode_exit(C, EM_FREEDATA | EM_DO_UNDO); | ||||
| #else | |||||
| UNUSED_VARS(C); | |||||
| #endif | |||||
| } | } | ||||
| static ViewLayer *scene_change_get_new_view_layer(const WorkSpace *workspace, const Scene *scene_new) | static ViewLayer *scene_change_get_new_view_layer(const WorkSpace *workspace, const Scene *scene_new) | ||||
| { | { | ||||
| ViewLayer *layer_new = BKE_workspace_view_layer_get(workspace, scene_new); | ViewLayer *layer_new = BKE_workspace_view_layer_get(workspace, scene_new); | ||||
| return layer_new ? layer_new : BKE_view_layer_from_scene_get(scene_new); | return layer_new ? layer_new : BKE_view_layer_from_scene_get(scene_new); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | bool ED_scene_view_layer_delete( | ||||
| BLI_remlink(&scene->view_layers, layer); | BLI_remlink(&scene->view_layers, layer); | ||||
| BLI_assert(BLI_listbase_is_empty(&scene->view_layers) == false); | BLI_assert(BLI_listbase_is_empty(&scene->view_layers) == false); | ||||
| scene->active_view_layer = 0; | scene->active_view_layer = 0; | ||||
| ED_workspace_view_layer_unset(bmain, scene, layer, scene->view_layers.first); | ED_workspace_view_layer_unset(bmain, scene, layer, scene->view_layers.first); | ||||
| BKE_workspace_view_layer_remove_references(bmain, layer); | BKE_workspace_view_layer_remove_references(bmain, layer); | ||||
| BKE_view_layer_free(layer); | BKE_view_layer_free(layer, bmain); | ||||
| DEG_id_tag_update(&scene->id, 0); | DEG_id_tag_update(&scene->id, 0); | ||||
| DEG_relations_tag_update(bmain); | DEG_relations_tag_update(bmain); | ||||
| WM_main_add_notifier(NC_SCENE | ND_LAYER | NA_REMOVED, scene); | WM_main_add_notifier(NC_SCENE | ND_LAYER | NA_REMOVED, scene); | ||||
| return true; | return true; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 73 Lines • Show Last 20 Lines | |||||