Revision: 53901
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53901
Author: campbellbarton
Date: 2013-01-19 00:53:33 +0000 (Sat, 19 Jan 2013)
Log Message:
-----------
minor dyntopo speedup: was doing 2x ghash lookups for BM_log_face_removed(),
BM_log_vert_removed(), only one needed.
Modified Paths:
--------------
trunk/blender/source/blender/bmesh/intern/bmesh_log.c
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_log.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_log.c 2013-01-19
00:17:10 UTC (rev 53900)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_log.c 2013-01-19
00:53:33 UTC (rev 53901)
@@ -806,8 +806,11 @@
unsigned int v_id = bm_log_vert_id_get(log, v);
void *key = SET_INT_IN_POINTER(v_id);
- if (BLI_ghash_lookup(entry->added_verts, key)) {
- BLI_ghash_remove(entry->added_verts, key, NULL, NULL);
+ /* if it has a key, it shouldn't be NULL */
+ BLI_assert(!!BLI_ghash_lookup(entry->added_verts, key) ==
+ !!BLI_ghash_haskey(entry->added_verts, key));
+
+ if (BLI_ghash_remove(entry->added_verts, key, NULL, NULL)) {
range_tree_uint_release(log->unused_ids, v_id);
}
else {
@@ -844,8 +847,11 @@
unsigned int f_id = bm_log_face_id_get(log, f);
void *key = SET_INT_IN_POINTER(f_id);
- if (BLI_ghash_lookup(entry->added_faces, key)) {
- BLI_ghash_remove(entry->added_faces, key, NULL, NULL);
+ /* if it has a key, it shouldn't be NULL */
+ BLI_assert(!!BLI_ghash_lookup(entry->added_faces, key) ==
+ !!BLI_ghash_haskey(entry->added_faces, key));
+
+ if (BLI_ghash_remove(entry->added_faces, key, NULL, NULL)) {
range_tree_uint_release(log->unused_ids, f_id);
}
else {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs