Undo System: id-map avoid duplicate add/lookup
[blender.git] / source / blender / blenkernel / BKE_undo_system.h
index 6072ecfae4aed972fd7a54bf9602aed7fa1c4d66..d2a322a50f0454ca7bffd4592276869337ebe8f0 100644 (file)
@@ -180,7 +180,15 @@ struct UndoIDPtrMap *BKE_undosys_ID_map_create(void);
 void                 BKE_undosys_ID_map_destroy(struct UndoIDPtrMap *map);
 void                 BKE_undosys_ID_map_add(struct UndoIDPtrMap *map, ID *id);
 struct ID           *BKE_undosys_ID_map_lookup(const struct UndoIDPtrMap *map, const struct ID *id_src);
-void                 BKE_undosys_ID_map_foreach_ID_ref(
+
+void BKE_undosys_ID_map_add_with_prev(
+        struct UndoIDPtrMap *map, struct ID *id,
+        struct ID **id_prev);
+struct ID *BKE_undosys_ID_map_lookup_with_prev(
+        const struct UndoIDPtrMap *map, struct ID *id_src,
+        struct ID *id_prev_match[2]);
+
+void BKE_undosys_ID_map_foreach_ID_ref(
         struct UndoIDPtrMap *map,
         UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data);