Commit: 75c9788c2753efb75e604d56aea2ed7f3be8b4e4
Author: Manuel Castilla
Date:   Tue Jul 20 12:31:40 2021 +0200
Branches: master
https://developer.blender.org/rB75c9788c2753efb75e604d56aea2ed7f3be8b4e4

Compositor: Fix crash when connecting multiple constant inputs

Operation receiving inputs was being folded more than once
when it was constant foldable.

===================================================================

M       source/blender/compositor/intern/COM_ConstantFolder.cc

===================================================================

diff --git a/source/blender/compositor/intern/COM_ConstantFolder.cc 
b/source/blender/compositor/intern/COM_ConstantFolder.cc
index f20324de342..15450572958 100644
--- a/source/blender/compositor/intern/COM_ConstantFolder.cc
+++ b/source/blender/compositor/intern/COM_ConstantFolder.cc
@@ -53,12 +53,12 @@ static bool is_constant_foldable(NodeOperation *operation)
   return false;
 }
 
-static Vector<NodeOperation *> 
find_constant_foldable_operations(Span<NodeOperation *> operations)
+static Set<NodeOperation *> 
find_constant_foldable_operations(Span<NodeOperation *> operations)
 {
-  Vector<NodeOperation *> foldable_ops;
+  Set<NodeOperation *> foldable_ops;
   for (NodeOperation *op : operations) {
     if (is_constant_foldable(op)) {
-      foldable_ops.append(op);
+      foldable_ops.add(op);
     }
   }
   return foldable_ops;
@@ -132,7 +132,7 @@ Vector<MemoryBuffer *> 
ConstantFolder::get_constant_input_buffers(NodeOperation
 /** Returns constant operations resulted from folded operations. */
 Vector<ConstantOperation *> 
ConstantFolder::try_fold_operations(Span<NodeOperation *> operations)
 {
-  Vector<NodeOperation *> foldable_ops = 
find_constant_foldable_operations(operations);
+  Set<NodeOperation *> foldable_ops = 
find_constant_foldable_operations(operations);
   if (foldable_ops.size() == 0) {
     return Vector<ConstantOperation *>();
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to