[Bf-blender-cvs] [5d2b3a966eb] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Wed Nov 22 12:53:50 CET 2017


Commit: 5d2b3a966eb2bce71c1effb4c79cf0f23c1d5bf5
Author: Sergey Sharybin
Date:   Wed Nov 22 12:50:17 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB5d2b3a966eb2bce71c1effb4c79cf0f23c1d5bf5

Merge branch 'master' into blender2.8

===================================================================



===================================================================

diff --cc source/blender/blenkernel/BKE_blendfile.h
index d9fff5343b0,1cf8a78fef3..0a8eac7961a
--- a/source/blender/blenkernel/BKE_blendfile.h
+++ b/source/blender/blenkernel/BKE_blendfile.h
@@@ -58,13 -58,8 +58,12 @@@ struct UserDef *BKE_blendfile_userdef_r
          const void *filebuf, int filelength,
          struct ReportList *reports);
  
- int BKE_blendfile_userdef_write(const char *filepath, struct ReportList *reports);
+ bool BKE_blendfile_userdef_write(const char *filepath, struct ReportList *reports);
  
 +struct WorkspaceConfigFileData *BKE_blendfile_workspace_config_read(const char *filepath, struct ReportList *reports);
 +bool BKE_blendfile_workspace_config_write(struct Main *bmain, const char *filepath, struct ReportList *reports);
 +void BKE_blendfile_workspace_config_data_free(struct WorkspaceConfigFileData *workspace_config);
 +
- 
  /* partial blend file writing */
  void BKE_blendfile_write_partial_tag_ID(struct ID *id, bool set);
  void BKE_blendfile_write_partial_begin(struct Main *bmain_src);
diff --cc source/blender/blenkernel/intern/blendfile.c
index 211f92c2e78,99e3769572a..6df008e7ac9
--- a/source/blender/blenkernel/intern/blendfile.c
+++ b/source/blender/blenkernel/intern/blendfile.c
@@@ -533,52 -512,9 +536,52 @@@ bool BKE_blendfile_userdef_write(const 
  
  	MEM_freeN(mainb);
  
- 	return retval;
+ 	return ok;
  }
  
 +WorkspaceConfigFileData *BKE_blendfile_workspace_config_read(const char *filepath, ReportList *reports)
 +{
 +	BlendFileData *bfd;
 +	WorkspaceConfigFileData *workspace_config = NULL;
 +
 +	bfd = BLO_read_from_file(filepath, reports, BLO_READ_SKIP_USERDEF);
 +	if (bfd) {
 +		workspace_config = MEM_mallocN(sizeof(*workspace_config), __func__);
 +		workspace_config->main = bfd->main;
 +		workspace_config->workspaces = bfd->main->workspaces;
 +
 +		MEM_freeN(bfd);
 +	}
 +
 +	return workspace_config;
 +}
 +
 +bool BKE_blendfile_workspace_config_write(Main *bmain, const char *filepath, ReportList *reports)
 +{
 +	int fileflags = G.fileflags & ~(G_FILE_NO_UI | G_FILE_AUTOPLAY | G_FILE_HISTORY);
 +	bool retval = false;
 +
 +	BKE_blendfile_write_partial_begin(bmain);
 +
 +	for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
 +		BKE_blendfile_write_partial_tag_ID(&workspace->id, true);
 +	}
 +
 +	if (BKE_blendfile_write_partial(bmain, filepath, fileflags, reports)) {
 +		retval = true;
 +	}
 +
 +	BKE_blendfile_write_partial_end(bmain);
 +
 +	return retval;
 +}
 +
 +void BKE_blendfile_workspace_config_data_free(WorkspaceConfigFileData *workspace_config)
 +{
 +	BKE_main_free(workspace_config->main);
 +	MEM_freeN(workspace_config);
 +}
 +
  /** \} */



More information about the Bf-blender-cvs mailing list