Sequencer: refactor clipboard copy to no longer increase user count.
[blender.git] / source / blender / blenkernel / BKE_sequencer.h
index 00fd4ded8c62b235024bfcdfb681c9ab34497dcc..a850777f3f14d88fbd89c7ce3885871d7a89a1bf 100644 (file)
@@ -90,7 +90,7 @@ void BKE_sequence_iterator_end(SeqIterator *iter);
 #define SEQ_END                                                               \
                }                                                                     \
                BKE_sequence_iterator_end(&iter_macro);                               \
-       }
+       } ((void)0)
 
 typedef struct SeqRenderData {
        struct Main *bmain;
@@ -148,10 +148,10 @@ struct SeqEffectHandle {
        void (*load)(struct Sequence *seq);
 
        /* duplicate */
-       void (*copy)(struct Sequence *dst, struct Sequence *src);
+       void (*copy)(struct Sequence *dst, struct Sequence *src, const int flag);
 
        /* destruct */
-       void (*free)(struct Sequence *seq);
+       void (*free)(struct Sequence *seq, const bool do_id_user);
 
        /* returns: -1: no input needed,
         * 0: no early out,
@@ -229,12 +229,8 @@ int BKE_sequencer_recursive_apply(struct Sequence *seq, int (*apply_func)(struct
 
 void BKE_sequencer_free_clipboard(void);
 
-void BKE_sequence_clipboard_pointers_free(struct Sequence *seq);
-void BKE_sequence_clipboard_pointers_store(struct Sequence *seq);
-void BKE_sequence_clipboard_pointers_restore(struct Sequence *seq, struct Main *bmain);
-
 void BKE_sequencer_base_clipboard_pointers_free(struct ListBase *seqbase);
-void BKE_sequencer_base_clipboard_pointers_store(struct ListBase *seqbase);
+void BKE_sequencer_base_clipboard_pointers_store(struct Main *bmain, struct ListBase *seqbase);
 void BKE_sequencer_base_clipboard_pointers_restore(struct ListBase *seqbase, struct Main *bmain);
 
 void BKE_sequence_free(struct Scene *scene, struct Sequence *seq);