From 75de21f0722c3a7d674c208cf6af95044637828f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 3 Apr 2018 16:46:11 +0200 Subject: Undo System: id-map avoid duplicate add/lookup Add versions of add/lookup that check the previous item. --- source/blender/blenkernel/BKE_undo_system.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/BKE_undo_system.h') diff --git a/source/blender/blenkernel/BKE_undo_system.h b/source/blender/blenkernel/BKE_undo_system.h index 6072ecfae4a..d2a322a50f0 100644 --- a/source/blender/blenkernel/BKE_undo_system.h +++ b/source/blender/blenkernel/BKE_undo_system.h @@ -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); -- cgit v1.2.3