[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58990] trunk/blender/source/blender/ blenkernel/intern/library.c: remove assert in check_for_dupid() function for rare but valid renaming situation.

Campbell Barton ideasman42 at gmail.com
Wed Aug 7 10:20:37 CEST 2013


Revision: 58990
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58990
Author:   campbellbarton
Date:     2013-08-07 08:20:37 +0000 (Wed, 07 Aug 2013)
Log Message:
-----------
remove assert in check_for_dupid() function for rare but valid renaming situation.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/library.c

Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c	2013-08-07 07:45:26 UTC (rev 58989)
+++ trunk/blender/source/blender/blenkernel/intern/library.c	2013-08-07 08:20:37 UTC (rev 58990)
@@ -1264,17 +1264,13 @@
 static bool check_for_dupid(ListBase *lb, ID *id, char *name)
 {
 	ID *idtest;
-	int nr = 0, nrtest, a, left_len;
+	int nr = 0, a, left_len;
 #define MAX_IN_USE 64
 	bool in_use[MAX_IN_USE];
 	/* to speed up finding unused numbers within [1 .. MAX_IN_USE - 1] */
 
 	char left[MAX_ID_NAME + 8], leftest[MAX_ID_NAME + 8];
 
-	/* make sure input name is terminated properly */
-	/* if ( strlen(name) > MAX_ID_NAME-3 ) name[MAX_ID_NAME-3] = 0; */
-	/* removed since this is only ever called from one place - campbell */
-
 	while (true) {
 
 		/* phase 1: id already exists? */
@@ -1301,6 +1297,7 @@
 		}
 
 		for (idtest = lb->first; idtest; idtest = idtest->next) {
+			int nrtest;
 			if ( (id != idtest) &&
 			     (idtest->lib == NULL) &&
 			     (*name == *(idtest->name + 2)) &&
@@ -1315,8 +1312,8 @@
 					nr = nrtest + 1;    /* track largest unused */
 			}
 		}
-		/* At this point, nr will be at least 1. */
-		BLI_assert(nr >= 1);
+		/* At this point, 'nr' will typically be at least 1. (but not always) */
+		// BLI_assert(nr >= 1);
 
 		/* decide which value of nr to use */
 		for (a = 0; a < MAX_IN_USE; a++) {




More information about the Bf-blender-cvs mailing list