Commit: 245129e8e2a6fb24b7a3c6623eae9a6b2010c238 Author: Brecht Van Lommel Date: Thu Jun 13 16:33:01 2019 +0200 Branches: master https://developer.blender.org/rB245129e8e2a6fb24b7a3c6623eae9a6b2010c238
Fix T65445: wrong defaults when appending workspaces from builtin templates =================================================================== M source/blender/blenloader/BLO_readfile.h M source/blender/blenloader/intern/versioning_defaults.c M source/blender/editors/screen/workspace_edit.c =================================================================== diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h index cf00e4d5f84..8769ed37d16 100644 --- a/source/blender/blenloader/BLO_readfile.h +++ b/source/blender/blenloader/BLO_readfile.h @@ -40,6 +40,7 @@ struct Scene; struct UserDef; struct View3D; struct ViewLayer; +struct WorkSpace; struct bContext; struct bScreen; struct wmWindowManager; @@ -166,6 +167,7 @@ void BLO_expand_main(void *fdhandle, struct Main *mainvar); /* Update defaults in startup.blend & userprefs.blend, without having to save and embed it */ void BLO_update_defaults_userpref_blend(void); void BLO_update_defaults_startup_blend(struct Main *mainvar, const char *app_template); +void BLO_update_defaults_workspace(struct WorkSpace *workspace, const char *app_template); /* Version patch user preferences. */ void BLO_version_defaults_userpref_blend(struct Main *mainvar, struct UserDef *userdef); diff --git a/source/blender/blenloader/intern/versioning_defaults.c b/source/blender/blenloader/intern/versioning_defaults.c index 617329ef5f2..355260f7b26 100644 --- a/source/blender/blenloader/intern/versioning_defaults.c +++ b/source/blender/blenloader/intern/versioning_defaults.c @@ -286,7 +286,7 @@ static void blo_update_defaults_screen(bScreen *screen, } } -static void blo_update_defaults_workspace(WorkSpace *workspace, const char *app_template) +void BLO_update_defaults_workspace(WorkSpace *workspace, const char *app_template) { ListBase *layouts = BKE_workspace_layouts_get(workspace); for (WorkSpaceLayout *layout = layouts->first; layout; layout = layout->next) { @@ -367,7 +367,7 @@ void BLO_update_defaults_startup_blend(Main *bmain, const char *app_template) { /* For all app templates. */ for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) { - blo_update_defaults_workspace(workspace, app_template); + BLO_update_defaults_workspace(workspace, app_template); } /* For builtin templates only. */ diff --git a/source/blender/editors/screen/workspace_edit.c b/source/blender/editors/screen/workspace_edit.c index 9fcd0e5295c..6030b6fded5 100644 --- a/source/blender/editors/screen/workspace_edit.c +++ b/source/blender/editors/screen/workspace_edit.c @@ -376,6 +376,9 @@ static int workspace_append_activate_exec(bContext *C, wmOperator *op) BLI_assert(appended_workspace != NULL); if (appended_workspace) { + /* Set defaults. */ + BLO_update_defaults_workspace(appended_workspace, NULL); + /* Reorder to last position. */ BKE_id_reorder(&bmain->workspaces, &appended_workspace->id, NULL, true); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs