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:
authorBrecht Van Lommel <brecht@blender.org>2022-03-11 19:50:57 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-03-21 18:38:13 +0300
commit6e4d2fa9140864a13356b07ffca082817822987f (patch)
treecb8894c3b6898e82410f3edffe2fb9d85a3a2399 /source/blender/nodes/composite/nodes/node_composite_output_file.cc
parent4abb8a14a2133f876c7718a8e09284baa62b1cf5 (diff)
Cleanup: add image_format.cc for functions related to ImageFormatData
Also fixes missing code to read/write/free/copy color management settings in various places. This can't be set through the UI currently, but still should be handled consistently.
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_output_file.cc')
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_output_file.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_output_file.cc b/source/blender/nodes/composite/nodes/node_composite_output_file.cc
index 2e1276dda24..0ddeee1d6a7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_output_file.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_output_file.cc
@@ -12,6 +12,7 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_image_format.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
@@ -135,7 +136,7 @@ bNodeSocket *ntreeCompositOutputFileAddSocket(bNodeTree *ntree,
}
}
else {
- BKE_imformat_defaults(&sockdata->format);
+ BKE_image_format_init(&sockdata->format, false);
}
/* use node data format by default */
sockdata->use_node_format = true;
@@ -205,7 +206,7 @@ static void init_output_file(const bContext *C, PointerRNA *ptr)
format = &nimf->format;
}
else {
- BKE_imformat_defaults(&nimf->format);
+ BKE_image_format_init(&nimf->format, false);
}
/* add one socket by default */
@@ -216,9 +217,13 @@ static void free_output_file(bNode *node)
{
/* free storage data in sockets */
LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+ NodeImageMultiFileSocket *sockdata = (NodeImageMultiFileSocket *)sock->storage;
+ BKE_image_format_free(&sockdata->format);
MEM_freeN(sock->storage);
}
+ NodeImageMultiFile *nimf = (NodeImageMultiFile *)node->storage;
+ BKE_image_format_free(&nimf->format);
MEM_freeN(node->storage);
}
@@ -229,6 +234,9 @@ static void copy_output_file(bNodeTree *UNUSED(dest_ntree),
bNodeSocket *src_sock, *dest_sock;
dest_node->storage = MEM_dupallocN(src_node->storage);
+ NodeImageMultiFile *dest_nimf = (NodeImageMultiFile *)dest_node->storage;
+ NodeImageMultiFile *src_nimf = (NodeImageMultiFile *)src_node->storage;
+ BKE_image_format_copy(&dest_nimf->format, &src_nimf->format);
/* duplicate storage data in sockets */
for (src_sock = (bNodeSocket *)src_node->inputs.first,
@@ -236,6 +244,9 @@ static void copy_output_file(bNodeTree *UNUSED(dest_ntree),
src_sock && dest_sock;
src_sock = src_sock->next, dest_sock = (bNodeSocket *)dest_sock->next) {
dest_sock->storage = MEM_dupallocN(src_sock->storage);
+ NodeImageMultiFileSocket *dest_sockdata = (NodeImageMultiFileSocket *)dest_sock->storage;
+ NodeImageMultiFileSocket *src_sockdata = (NodeImageMultiFileSocket *)src_sock->storage;
+ BKE_image_format_copy(&dest_sockdata->format, &src_sockdata->format);
}
}