[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