[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45461] trunk/blender/source/blender/ blenkernel/intern/movieclip.c: Fixed deadlock on loading file without number group into movie clip editor

Sergey Sharybin sergey.vfx at gmail.com
Sat Apr 7 18:37:56 CEST 2012


Revision: 45461
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45461
Author:   nazgul
Date:     2012-04-07 16:37:55 +0000 (Sat, 07 Apr 2012)
Log Message:
-----------
Fixed deadlock on loading file without number group into movie clip editor

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

Modified: trunk/blender/source/blender/blenkernel/intern/movieclip.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/movieclip.c	2012-04-07 15:54:21 UTC (rev 45460)
+++ trunk/blender/source/blender/blenkernel/intern/movieclip.c	2012-04-07 16:37:55 UTC (rev 45461)
@@ -80,7 +80,7 @@
 
 /*********************** movieclip buffer loaders *************************/
 
-static int sequence_guess_offset(const char *full_name, int head_len, int numlen)
+static int sequence_guess_offset(const char *full_name, int head_len, unsigned short numlen)
 {
 	char num[FILE_MAX] = {0};
 
@@ -273,17 +273,26 @@
 	}
 	else if (clip->source == MCLIP_SRC_SEQUENCE) {
 		int framenr = 1;
-		char name[FILE_MAX];
+		short numlen;
+		char name[FILE_MAX], head[FILE_MAX], tail[FILE_MAX];
 
-		for (;;) {
-			get_sequence_fname(clip, framenr, name);
+		BLI_stringdec(clip->name, head, tail, &numlen);
 
-			if (!BLI_exists(name)) {
-				clip->len = framenr + 1;
-				break;
+		if (numlen == 0) {
+			/* there's no number group in file name, assume it's single framed sequence */
+			clip->len = framenr + 1;
+		}
+		else {
+			for (;;) {
+				get_sequence_fname(clip, framenr, name);
+
+				if (!BLI_exists(name)) {
+					clip->len = framenr + 1;
+					break;
+				}
+
+				framenr++;
 			}
-
-			framenr++;
 		}
 	}
 }




More information about the Bf-blender-cvs mailing list