diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-03-11 19:50:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-03-21 18:38:13 +0300 |
commit | 6e4d2fa9140864a13356b07ffca082817822987f (patch) | |
tree | cb8894c3b6898e82410f3edffe2fb9d85a3a2399 /source/blender/nodes | |
parent | 4abb8a14a2133f876c7718a8e09284baa62b1cf5 (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')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_output_file.cc | 15 |
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); } } |