[Bf-blender-cvs] [8052be42bc0] override-recursive-resync: Initial addition of read file report struct.
Bastien Montagne
noreply at git.blender.org
Mon Jun 7 15:52:02 CEST 2021
Commit: 8052be42bc00f6069717f97fa8c52e2c6a33ebe5
Author: Bastien Montagne
Date: Mon Jun 7 15:51:38 2021 +0200
Branches: override-recursive-resync
https://developer.blender.org/rB8052be42bc00f6069717f97fa8c52e2c6a33ebe5
Initial addition of read file report struct.
===================================================================
M source/blender/blenkernel/BKE_blendfile.h
M source/blender/blenkernel/BKE_lib_override.h
M source/blender/blenkernel/intern/blendfile.c
M source/blender/blenkernel/intern/lib_override.c
M source/blender/blenloader/BLO_read_write.h
M source/blender/blenloader/BLO_readfile.h
M source/blender/blenloader/intern/readblenentry.c
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/readfile.h
M source/blender/editors/space_outliner/outliner_tools.c
M source/blender/windowmanager/intern/wm_files.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_blendfile.h b/source/blender/blenkernel/BKE_blendfile.h
index 429e294a337..3e0a343a766 100644
--- a/source/blender/blenkernel/BKE_blendfile.h
+++ b/source/blender/blenkernel/BKE_blendfile.h
@@ -25,6 +25,7 @@ extern "C" {
struct BlendFileData;
struct BlendFileReadParams;
+struct BlendFileReadReport;
struct ID;
struct Main;
struct MemFile;
@@ -35,7 +36,7 @@ struct bContext;
void BKE_blendfile_read_setup_ex(struct bContext *C,
struct BlendFileData *bfd,
const struct BlendFileReadParams *params,
- struct ReportList *reports,
+ struct BlendFileReadReport *reports,
/* Extra args. */
const bool startup_update_defaults,
const char *startup_app_template);
@@ -43,11 +44,11 @@ void BKE_blendfile_read_setup_ex(struct bContext *C,
void BKE_blendfile_read_setup(struct bContext *C,
struct BlendFileData *bfd,
const struct BlendFileReadParams *params,
- struct ReportList *reports);
+ struct BlendFileReadReport *reports);
struct BlendFileData *BKE_blendfile_read(const char *filepath,
const struct BlendFileReadParams *params,
- struct ReportList *reports);
+ struct BlendFileReadReport *reports);
struct BlendFileData *BKE_blendfile_read_from_memory(const void *filebuf,
int filelength,
diff --git a/source/blender/blenkernel/BKE_lib_override.h b/source/blender/blenkernel/BKE_lib_override.h
index 4dc99e64cf2..3eb0ff44129 100644
--- a/source/blender/blenkernel/BKE_lib_override.h
+++ b/source/blender/blenkernel/BKE_lib_override.h
@@ -43,6 +43,7 @@ extern "C" {
#endif
struct Collection;
+struct BlendFileReadReport;
struct ID;
struct IDOverrideLibrary;
struct IDOverrideLibraryProperty;
@@ -90,11 +91,11 @@ bool BKE_lib_override_library_resync(struct Main *bmain,
struct Collection *override_resync_residual_storage,
const bool do_hierarchy_enforce,
const bool do_post_process,
- struct ReportList *reports);
+ struct BlendFileReadReport *reports);
void BKE_lib_override_library_main_resync(struct Main *bmain,
struct Scene *scene,
struct ViewLayer *view_layer,
- struct ReportList *reports);
+ struct BlendFileReadReport *reports);
void BKE_lib_override_library_delete(struct Main *bmain, struct ID *id_root);
diff --git a/source/blender/blenkernel/intern/blendfile.c b/source/blender/blenkernel/intern/blendfile.c
index 54fd3f55c31..ae8dc5bffc0 100644
--- a/source/blender/blenkernel/intern/blendfile.c
+++ b/source/blender/blenkernel/intern/blendfile.c
@@ -136,7 +136,7 @@ static void setup_app_userdef(BlendFileData *bfd)
static void setup_app_data(bContext *C,
BlendFileData *bfd,
const struct BlendFileReadParams *params,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
Main *bmain = G_MAIN;
Scene *curscene = NULL;
@@ -155,7 +155,9 @@ static void setup_app_data(bContext *C,
/* may happen with library files - UNDO file should never have NULL curscene (but may have a
* NULL curscreen)... */
else if (ELEM(NULL, bfd->curscreen, bfd->curscene)) {
- BKE_report(reports, RPT_WARNING, "Library file, loading empty scene");
+ BKE_report(reports != NULL ? reports->reports : NULL,
+ RPT_WARNING,
+ "Library file, loading empty scene");
mode = LOAD_UI_OFF;
}
else if (G.fileflags & G_FILE_NO_UI) {
@@ -409,7 +411,7 @@ static void setup_app_data(bContext *C,
static void setup_app_blend_file_data(bContext *C,
BlendFileData *bfd,
const struct BlendFileReadParams *params,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
if ((params->skip_flags & BLO_READ_SKIP_USERDEF) == 0) {
setup_app_userdef(bfd);
@@ -419,12 +421,12 @@ static void setup_app_blend_file_data(bContext *C,
}
}
-static void handle_subversion_warning(Main *main, ReportList *reports)
+static void handle_subversion_warning(Main *main, BlendFileReadReport *reports)
{
if (main->minversionfile > BLENDER_FILE_VERSION ||
(main->minversionfile == BLENDER_FILE_VERSION &&
main->minsubversionfile > BLENDER_FILE_SUBVERSION)) {
- BKE_reportf(reports,
+ BKE_reportf(reports != NULL ? reports->reports : NULL,
RPT_ERROR,
"File written by newer Blender binary (%d.%d), expect loss of data!",
main->minversionfile,
@@ -443,7 +445,7 @@ static void handle_subversion_warning(Main *main, ReportList *reports)
void BKE_blendfile_read_setup_ex(bContext *C,
BlendFileData *bfd,
const struct BlendFileReadParams *params,
- ReportList *reports,
+ BlendFileReadReport *reports,
/* Extra args. */
const bool startup_update_defaults,
const char *startup_app_template)
@@ -460,7 +462,7 @@ void BKE_blendfile_read_setup_ex(bContext *C,
void BKE_blendfile_read_setup(bContext *C,
BlendFileData *bfd,
const struct BlendFileReadParams *params,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
BKE_blendfile_read_setup_ex(C, bfd, params, reports, false, NULL);
}
@@ -470,7 +472,7 @@ void BKE_blendfile_read_setup(bContext *C,
*/
struct BlendFileData *BKE_blendfile_read(const char *filepath,
const struct BlendFileReadParams *params,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
/* Don't print startup file loading. */
if (params->is_startup == false) {
@@ -482,7 +484,8 @@ struct BlendFileData *BKE_blendfile_read(const char *filepath,
handle_subversion_warning(bfd->main, reports);
}
else {
- BKE_reports_prependf(reports, "Loading '%s' failed: ", filepath);
+ BKE_reports_prependf(
+ reports != NULL ? reports->reports : NULL, "Loading '%s' failed: ", filepath);
}
return bfd;
}
@@ -559,7 +562,9 @@ UserDef *BKE_blendfile_userdef_read(const char *filepath, ReportList *reports)
BlendFileData *bfd;
UserDef *userdef = NULL;
- bfd = BLO_read_from_file(filepath, BLO_READ_SKIP_ALL & ~BLO_READ_SKIP_USERDEF, reports);
+ bfd = BLO_read_from_file(filepath,
+ BLO_READ_SKIP_ALL & ~BLO_READ_SKIP_USERDEF,
+ &(struct BlendFileReadReport){.reports = reports});
if (bfd) {
if (bfd->user) {
userdef = bfd->user;
@@ -770,7 +775,8 @@ WorkspaceConfigFileData *BKE_blendfile_workspace_config_read(const char *filepat
WorkspaceConfigFileData *workspace_config = NULL;
if (filepath) {
- bfd = BLO_read_from_file(filepath, BLO_READ_SKIP_USERDEF, reports);
+ bfd = BLO_read_from_file(
+ filepath, BLO_READ_SKIP_USERDEF, &(struct BlendFileReadReport){.reports = reports});
}
else {
bfd = BLO_read_from_memory(filebuf, filelength, BLO_READ_SKIP_USERDEF, reports);
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index c93971e7b11..f558a51c2e2 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -52,6 +52,8 @@
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BLO_readfile.h"
+
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
@@ -958,7 +960,7 @@ bool BKE_lib_override_library_resync(Main *bmain,
Collection *override_resync_residual_storage,
const bool do_hierarchy_enforce,
const bool do_post_process,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
BLI_assert(ID_IS_OVERRIDE_LIBRARY_REAL(id_root));
@@ -1286,7 +1288,7 @@ bool BKE_lib_override_library_resync(Main *bmain,
id_root = id_root_reference->newid;
if (user_edited_overrides_deletion_count > 0) {
- BKE_reportf(reports,
+ BKE_reportf(reports != NULL ? reports->reports : NULL,
RPT_WARNING,
"During resync of data-block %s, %d obsolete overrides were deleted, that had "
"local changes defined by user",
@@ -1438,7 +1440,7 @@ static void lib_override_library_main_resync_on_library_indirect_level(
ViewLayer *view_layer,
Collection *override_resync_residual_storage,
const int library_indirect_level,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
BKE_main_relations_create(bmain, 0);
BKE_main_id_tag_all(bmain, LIB_TAG_DOIT, false);
@@ -1633,7 +1635,7 @@ static int lib_override_libraries_index_define(Main *bmain)
void BKE_lib_override_library_main_resync(Main *bmain,
Scene *scene,
ViewLayer *view_layer,
- ReportList *reports)
+ BlendFileReadReport *reports)
{
/* We use a
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list