Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_blendfile.h7
-rw-r--r--source/blender/blenkernel/BKE_lib_override.h5
-rw-r--r--source/blender/blenkernel/intern/blender_undo.c7
-rw-r--r--source/blender/blenkernel/intern/blendfile.c33
-rw-r--r--source/blender/blenkernel/intern/lib_override.c32
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, &params, &(BlendFileReadReport){NULL});
+ struct BlendFileData *bfd = BKE_blendfile_read(mfu->filename, &params, NULL);
if (bfd != NULL) {
- BKE_blendfile_read_setup(C, bfd, &params, &(BlendFileReadReport){NULL});
+ BKE_blendfile_read_setup(C, bfd, &params, 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, &params, NULL);
if (bfd != NULL) {
- BKE_blendfile_read_setup(C, bfd, &params, &(BlendFileReadReport){NULL});
+ BKE_blendfile_read_setup(C, bfd, &params, 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. */