From 0658659f74ad134bddbc982f7e1de0ff9b8bda66 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 2 Mar 2016 11:12:48 +1100 Subject: GHash: BLI_ghash_ensure_p_ex now takes a pointer-to-key arg This is an alternative to passing a copy callback which is some times inconvenient. Instead the caller can write to the key - needed when the key is duplicated memory. Allows for minor optimization in ghash/gset use. Also add BLI_gset_ensure_p_ex --- source/blender/blenkernel/intern/icons.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender/blenkernel/intern/icons.c') diff --git a/source/blender/blenkernel/intern/icons.c b/source/blender/blenkernel/intern/icons.c index 45ebada4d81..f3e86b44459 100644 --- a/source/blender/blenkernel/intern/icons.c +++ b/source/blender/blenkernel/intern/icons.c @@ -273,9 +273,10 @@ PreviewImage *BKE_previewimg_cached_get(const char *name) PreviewImage *BKE_previewimg_cached_ensure(const char *name) { PreviewImage *prv = NULL; - void **prv_p; + void **key_p, **prv_p; - if (!BLI_ghash_ensure_p_ex(gCachedPreviews, name, &prv_p, (GHashKeyCopyFP)BLI_strdup)) { + if (!BLI_ghash_ensure_p_ex(gCachedPreviews, name, &key_p, &prv_p)) { + *key_p = BLI_strdup(name); *prv_p = BKE_previewimg_create(); } prv = *prv_p; -- cgit v1.2.3