[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57585] trunk/blender/source/blender: correct for own regressions when refactoring select-path, was using heap popmin incorrectly.

Campbell Barton ideasman42 at gmail.com
Wed Jun 19 21:59:49 CEST 2013


Revision: 57585
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57585
Author:   campbellbarton
Date:     2013-06-19 19:59:49 +0000 (Wed, 19 Jun 2013)
Log Message:
-----------
correct for own regressions when refactoring select-path, was using heap popmin incorrectly.

Modified Paths:
--------------
    trunk/blender/source/blender/blenlib/intern/BLI_heap.c
    trunk/blender/source/blender/bmesh/tools/bmesh_path.c

Modified: trunk/blender/source/blender/blenlib/intern/BLI_heap.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/BLI_heap.c	2013-06-19 19:37:17 UTC (rev 57584)
+++ trunk/blender/source/blender/blenlib/intern/BLI_heap.c	2013-06-19 19:59:49 UTC (rev 57585)
@@ -30,6 +30,7 @@
  *  \ingroup bli
  */
 
+#include <stdlib.h>
 #include <string.h>
 
 #include "MEM_guardedalloc.h"
@@ -207,6 +208,8 @@
 {
 	void *ptr = heap->tree[0]->ptr;
 
+	BLI_assert(heap->size == 0);
+
 	heap->tree[0]->ptr = heap->freenodes;
 	heap->freenodes = heap->tree[0];
 

Modified: trunk/blender/source/blender/bmesh/tools/bmesh_path.c
===================================================================
--- trunk/blender/source/blender/bmesh/tools/bmesh_path.c	2013-06-19 19:37:17 UTC (rev 57584)
+++ trunk/blender/source/blender/bmesh/tools/bmesh_path.c	2013-06-19 19:59:49 UTC (rev 57585)
@@ -144,7 +144,8 @@
 	BLI_heap_insert(heap, 0.0f, v_src);
 	cost[BM_elem_index_get(v_src)] = 0.0f;
 
-	while ((v = BLI_heap_popmin(heap))) {
+	while (!BLI_heap_is_empty(heap)) {
+		v = BLI_heap_popmin(heap);
 
 		if (v == v_dst)
 			break;
@@ -261,7 +262,8 @@
 	BLI_heap_insert(heap, 0.0f, e_src);
 	cost[BM_elem_index_get(e_src)] = 0.0f;
 
-	while ((e = BLI_heap_popmin(heap))) {
+	while (!BLI_heap_is_empty(heap)) {
+		e = BLI_heap_popmin(heap);
 
 		if (e == e_dst)
 			break;
@@ -386,7 +388,8 @@
 	BLI_heap_insert(heap, 0.0f, f_src);
 	cost[BM_elem_index_get(f_src)] = 0.0f;
 
-	while ((f = BLI_heap_popmin(heap))) {
+	while (!BLI_heap_is_empty(heap)) {
+		f = BLI_heap_popmin(heap);
 
 		if (f == f_dst)
 			break;




More information about the Bf-blender-cvs mailing list