diff options
author | Brecht Van Lommel <brecht@blender.org> | 2021-06-22 20:11:06 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2021-06-22 20:13:50 +0300 |
commit | 3a48147b8ab92e4828157ec7a3a1a75dd1a6b964 (patch) | |
tree | b1b3875b83eda3b5213fd2318ba8751819c0b337 /source/blender/blenkernel | |
parent | 0b15353baa5c7c5b57ccb5dff8ef0fdf0d8beb5d (diff) |
Revert "Enhanced stats/reports for blendfile reading."
This change crashes library linking operators, related tests and probably more.
This reverts commit f8d219dfd4c31a918e33cb715472d91a5cd3fd51.
Ref D11583
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_blendfile.h | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_lib_override.h | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/blender_undo.c | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/blendfile.c | 33 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.c | 32 |
5 files changed, 24 insertions, 60 deletions
diff --git a/source/blender/blenkernel/BKE_blendfile.h b/source/blender/blenkernel/BKE_blendfile.h index 3e0a343a766..429e294a337 100644 --- a/source/blender/blenkernel/BKE_blendfile.h +++ b/source/blender/blenkernel/BKE_blendfile.h @@ -25,7 +25,6 @@ extern "C" { struct BlendFileData; struct BlendFileReadParams; -struct BlendFileReadReport; struct ID; struct Main; struct MemFile; @@ -36,7 +35,7 @@ struct bContext; void BKE_blendfile_read_setup_ex(struct bContext *C, struct BlendFileData *bfd, const struct BlendFileReadParams *params, - struct BlendFileReadReport *reports, + struct ReportList *reports, /* Extra args. */ const bool startup_update_defaults, const char *startup_app_template); @@ -44,11 +43,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 BlendFileReadReport *reports); + struct ReportList *reports); struct BlendFileData *BKE_blendfile_read(const char *filepath, const struct BlendFileReadParams *params, - struct BlendFileReadReport *reports); + struct ReportList *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 3eb0ff44129..4dc99e64cf2 100644 --- a/source/blender/blenkernel/BKE_lib_override.h +++ b/source/blender/blenkernel/BKE_lib_override.h @@ -43,7 +43,6 @@ extern "C" { #endif struct Collection; -struct BlendFileReadReport; struct ID; struct IDOverrideLibrary; struct IDOverrideLibraryProperty; @@ -91,11 +90,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 BlendFileReadReport *reports); + struct ReportList *reports); void BKE_lib_override_library_main_resync(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, - struct BlendFileReadReport *reports); + struct ReportList *reports); void BKE_lib_override_library_delete(struct Main *bmain, struct ID *id_root); diff --git a/source/blender/blenkernel/intern/blender_undo.c b/source/blender/blenkernel/intern/blender_undo.c index 6f47cd1336e..ba41786c7fd 100644 --- a/source/blender/blenkernel/intern/blender_undo.c +++ b/source/blender/blenkernel/intern/blender_undo.c @@ -78,10 +78,9 @@ bool BKE_memfile_undo_decode(MemFileUndoData *mfu, if (UNDO_DISK) { const struct BlendFileReadParams params = {0}; - struct BlendFileData *bfd = BKE_blendfile_read( - mfu->filename, ¶ms, &(BlendFileReadReport){NULL}); + struct BlendFileData *bfd = BKE_blendfile_read(mfu->filename, ¶ms, NULL); if (bfd != NULL) { - BKE_blendfile_read_setup(C, bfd, ¶ms, &(BlendFileReadReport){NULL}); + BKE_blendfile_read_setup(C, bfd, ¶ms, NULL); success = true; } } @@ -94,7 +93,7 @@ bool BKE_memfile_undo_decode(MemFileUndoData *mfu, struct BlendFileData *bfd = BKE_blendfile_read_from_memfile( bmain, &mfu->memfile, ¶ms, NULL); if (bfd != NULL) { - BKE_blendfile_read_setup(C, bfd, ¶ms, &(BlendFileReadReport){NULL}); + BKE_blendfile_read_setup(C, bfd, ¶ms, NULL); success = true; } } diff --git a/source/blender/blenkernel/intern/blendfile.c b/source/blender/blenkernel/intern/blendfile.c index 3a59bc64652..54fd3f55c31 100644 --- a/source/blender/blenkernel/intern/blendfile.c +++ b/source/blender/blenkernel/intern/blendfile.c @@ -36,8 +36,6 @@ #include "BLI_system.h" #include "BLI_utildefines.h" -#include "PIL_time.h" - #include "IMB_colormanagement.h" #include "BKE_addon.h" @@ -138,7 +136,7 @@ static void setup_app_userdef(BlendFileData *bfd) static void setup_app_data(bContext *C, BlendFileData *bfd, const struct BlendFileReadParams *params, - BlendFileReadReport *reports) + ReportList *reports) { Main *bmain = G_MAIN; Scene *curscene = NULL; @@ -157,7 +155,7 @@ 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->reports, RPT_WARNING, "Library file, loading empty scene"); + BKE_report(reports, RPT_WARNING, "Library file, loading empty scene"); mode = LOAD_UI_OFF; } else if (G.fileflags & G_FILE_NO_UI) { @@ -398,17 +396,11 @@ static void setup_app_data(bContext *C, } if (mode != LOAD_UNDO && !USER_EXPERIMENTAL_TEST(&U, no_override_auto_resync)) { - reports->duration.lib_overrides_resync = PIL_check_seconds_timer(); - BKE_lib_override_library_main_resync( bmain, curscene, bfd->cur_view_layer ? bfd->cur_view_layer : BKE_view_layer_default_view(curscene), reports); - - reports->duration.lib_overrides_resync = PIL_check_seconds_timer() - - reports->duration.lib_overrides_resync; - /* We need to rebuild some of the deleted override rules (for UI feedback purpose). */ BKE_lib_override_library_main_operations_create(bmain, true); } @@ -417,7 +409,7 @@ static void setup_app_data(bContext *C, static void setup_app_blend_file_data(bContext *C, BlendFileData *bfd, const struct BlendFileReadParams *params, - BlendFileReadReport *reports) + ReportList *reports) { if ((params->skip_flags & BLO_READ_SKIP_USERDEF) == 0) { setup_app_userdef(bfd); @@ -427,12 +419,12 @@ static void setup_app_blend_file_data(bContext *C, } } -static void handle_subversion_warning(Main *main, BlendFileReadReport *reports) +static void handle_subversion_warning(Main *main, ReportList *reports) { if (main->minversionfile > BLENDER_FILE_VERSION || (main->minversionfile == BLENDER_FILE_VERSION && main->minsubversionfile > BLENDER_FILE_SUBVERSION)) { - BKE_reportf(reports->reports, + BKE_reportf(reports, RPT_ERROR, "File written by newer Blender binary (%d.%d), expect loss of data!", main->minversionfile, @@ -451,7 +443,7 @@ static void handle_subversion_warning(Main *main, BlendFileReadReport *reports) void BKE_blendfile_read_setup_ex(bContext *C, BlendFileData *bfd, const struct BlendFileReadParams *params, - BlendFileReadReport *reports, + ReportList *reports, /* Extra args. */ const bool startup_update_defaults, const char *startup_app_template) @@ -468,7 +460,7 @@ void BKE_blendfile_read_setup_ex(bContext *C, void BKE_blendfile_read_setup(bContext *C, BlendFileData *bfd, const struct BlendFileReadParams *params, - BlendFileReadReport *reports) + ReportList *reports) { BKE_blendfile_read_setup_ex(C, bfd, params, reports, false, NULL); } @@ -478,7 +470,7 @@ void BKE_blendfile_read_setup(bContext *C, */ struct BlendFileData *BKE_blendfile_read(const char *filepath, const struct BlendFileReadParams *params, - BlendFileReadReport *reports) + ReportList *reports) { /* Don't print startup file loading. */ if (params->is_startup == false) { @@ -490,7 +482,7 @@ struct BlendFileData *BKE_blendfile_read(const char *filepath, handle_subversion_warning(bfd->main, reports); } else { - BKE_reports_prependf(reports->reports, "Loading '%s' failed: ", filepath); + BKE_reports_prependf(reports, "Loading '%s' failed: ", filepath); } return bfd; } @@ -567,9 +559,7 @@ 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, - &(struct BlendFileReadReport){.reports = reports}); + bfd = BLO_read_from_file(filepath, BLO_READ_SKIP_ALL & ~BLO_READ_SKIP_USERDEF, reports); if (bfd) { if (bfd->user) { userdef = bfd->user; @@ -780,8 +770,7 @@ 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, &(struct BlendFileReadReport){.reports = reports}); + bfd = BLO_read_from_file(filepath, BLO_READ_SKIP_USERDEF, 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 270d7ca358a..c93971e7b11 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -52,17 +52,12 @@ #include "BKE_report.h" #include "BKE_scene.h" -#include "BLO_readfile.h" - #include "BLI_ghash.h" -#include "BLI_linklist.h" #include "BLI_listbase.h" #include "BLI_string.h" #include "BLI_task.h" #include "BLI_utildefines.h" -#include "PIL_time.h" - #include "RNA_access.h" #include "RNA_types.h" @@ -963,7 +958,7 @@ bool BKE_lib_override_library_resync(Main *bmain, Collection *override_resync_residual_storage, const bool do_hierarchy_enforce, const bool do_post_process, - BlendFileReadReport *reports) + ReportList *reports) { BLI_assert(ID_IS_OVERRIDE_LIBRARY_REAL(id_root)); @@ -1291,7 +1286,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 != NULL ? reports->reports : NULL, + BKE_reportf(reports, RPT_WARNING, "During resync of data-block %s, %d obsolete overrides were deleted, that had " "local changes defined by user", @@ -1443,11 +1438,8 @@ static void lib_override_library_main_resync_on_library_indirect_level( ViewLayer *view_layer, Collection *override_resync_residual_storage, const int library_indirect_level, - BlendFileReadReport *reports) + ReportList *reports) { - const bool do_reports_recursive_resync_timing = (library_indirect_level != 0); - const double init_time = do_reports_recursive_resync_timing ? PIL_check_seconds_timer() : 0.0; - BKE_main_relations_create(bmain, 0); BKE_main_id_tag_all(bmain, LIB_TAG_DOIT, false); @@ -1538,7 +1530,6 @@ static void lib_override_library_main_resync_on_library_indirect_level( (!ID_IS_LINKED(id) && library_indirect_level != 0)) { continue; } - Library *library = id->lib; int level = 0; /* In complex non-supported cases, with several different override hierarchies sharing @@ -1550,21 +1541,12 @@ static void lib_override_library_main_resync_on_library_indirect_level( id = lib_override_library_main_resync_find_root_recurse(id, &level); id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC; BLI_assert(ID_IS_OVERRIDE_LIBRARY_REAL(id)); - BLI_assert(id->lib == library); do_continue = true; - CLOG_INFO(&LOG, 2, "Resyncing %s (%p)...", id->name, library); + CLOG_INFO(&LOG, 2, "Resyncing %s (%p)...", id->name, id->lib); const bool success = BKE_lib_override_library_resync( bmain, scene, view_layer, id, override_resync_residual_storage, false, false, reports); CLOG_INFO(&LOG, 2, "\tSuccess: %d", success); - if (success) { - reports->count.resynced_lib_overrides++; - if (library_indirect_level > 0 && - BLI_linklist_index(reports->resynced_lib_overrides_libraries, library) < 0) { - BLI_linklist_prepend(&reports->resynced_lib_overrides_libraries, library); - reports->resynced_lib_overrides_libraries_count++; - } - } break; } FOREACH_MAIN_LISTBASE_ID_END; @@ -1574,10 +1556,6 @@ static void lib_override_library_main_resync_on_library_indirect_level( } FOREACH_MAIN_LISTBASE_END; } - - if (do_reports_recursive_resync_timing) { - reports->duration.lib_overrides_recursive_resync += PIL_check_seconds_timer() - init_time; - } } static int lib_override_sort_libraries_func(LibraryIDLinkCallbackData *cb_data) @@ -1655,7 +1633,7 @@ static int lib_override_libraries_index_define(Main *bmain) void BKE_lib_override_library_main_resync(Main *bmain, Scene *scene, ViewLayer *view_layer, - BlendFileReadReport *reports) + ReportList *reports) { /* We use a specific collection to gather/store all 'orphaned' override collections and objects * generated by re-sync-process. This avoids putting them in scene's master collection. */ |