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:
authorJacques Lucke <jacques@blender.org>2020-11-06 20:37:52 +0300
committerJacques Lucke <jacques@blender.org>2020-11-06 20:37:52 +0300
commit992b8f6f5fce7f34139ad4acf4a2b74c0cf49185 (patch)
tree2658c793f8f19d5d62d5907935b1c9f72bbd0f16 /source/blender/blenkernel/intern/screen.c
parent1762d5f43a4086b4492efb507c6085b0d841aaac (diff)
Refactor: move Screen .blend data read to blenkernel
Ref T76372.
Diffstat (limited to 'source/blender/blenkernel/intern/screen.c')
-rw-r--r--source/blender/blenkernel/intern/screen.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 1b8360a1cec..d23dcfbb00a 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -254,6 +254,26 @@ static void screen_blend_write(BlendWriter *writer, ID *id, const void *id_addre
}
}
+/* Cannot use IDTypeInfo callback yet, because of the return value. */
+bool BKE_screen_blend_read_lib(BlendDataReader *reader, bScreen *screen)
+{
+ bool success = true;
+
+ screen->regionbase.first = screen->regionbase.last = NULL;
+ screen->context = NULL;
+ screen->active_region = NULL;
+
+ BLO_read_data_address(reader, &screen->preview);
+ BKE_previewimg_blend_read(reader, screen->preview);
+
+ if (!BKE_screen_area_map_blend_read_data(reader, AREAMAP_FROM_SCREEN(screen))) {
+ printf("Error reading Screen %s... removing it.\n", screen->id.name + 2);
+ success = false;
+ }
+
+ return success;
+}
+
/* note: file read without screens option G_FILE_NO_UI;
* check lib pointers in call below */
static void screen_blend_read_lib(BlendLibReader *reader, ID *id)