[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53901] trunk/blender/source/blender/bmesh /intern/bmesh_log.c: minor dyntopo speedup: was doing 2x ghash lookups for BM_log_face_removed(), BM_log_vert_removed( ), only one needed.
Campbell Barton
ideasman42 at gmail.com
Sat Jan 19 01:53:34 CET 2013
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 {
More information about the Bf-blender-cvs
mailing list