[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50405] trunk/blender/source/blender: fix for various redundant checks and possibly fix some crashes in rare situations .

Campbell Barton ideasman42 at gmail.com
Wed Sep 5 03:42:56 CEST 2012


Revision: 50405
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50405
Author:   campbellbarton
Date:     2012-09-05 01:42:52 +0000 (Wed, 05 Sep 2012)
Log Message:
-----------
fix for various redundant checks and possibly fix some crashes in rare situations.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/editors/interface/interface_ops.c
    trunk/blender/source/blender/editors/space_view3d/drawmesh.c
    trunk/blender/source/blender/imbuf/intern/moviecache.c
    trunk/blender/source/blender/nodes/composite/node_composite_tree.c
    trunk/blender/source/blender/render/intern/source/render_texture.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -9471,9 +9471,9 @@
 								cleanup_path(G.main->name, mainptr->curlib->filepath);
 								
 								fd = blo_openblenderfile(mainptr->curlib->filepath, basefd->reports);
-								fd->mainlist = mainlist;
-								
+
 								if (fd) {
+									fd->mainlist = mainlist;
 									printf("found: '%s', party on macuno!\n", mainptr->curlib->filepath);
 								}
 							}

Modified: trunk/blender/source/blender/editors/interface/interface_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_ops.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/editors/interface/interface_ops.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -908,19 +908,19 @@
 
 void edittranslation_find_po_file(const char *root, const char *uilng, char *path, const size_t maxlen)
 {
-	char t[32]; /* Should be more than enough! */
+	char tstr[32]; /* Should be more than enough! */
 	/* First, full lang code. */
-	sprintf(t, "%s.po", uilng);
+	BLI_snprintf(tstr, sizeof(tstr), "%s.po", uilng);
 	BLI_join_dirfile(path, maxlen, root, uilng);
-	BLI_join_dirfile(path, maxlen, path, t);
+	BLI_join_dirfile(path, maxlen, path, tstr);
 	if (BLI_is_file(path))
 		return;
 	/* Now try without the second iso code part (_ES in es_ES). */
-	strncpy(t, uilng, 2);
-	strcpy(t + 2, uilng + 5); /* Because of some codes like sr_SR at latin... */
-	BLI_join_dirfile(path, maxlen, root, t);
-	sprintf(t, "%s.po", t);
-	BLI_join_dirfile(path, maxlen, path, t);
+	strncpy(tstr, uilng, 2);
+	BLI_strncpy(tstr + 2, uilng + 5, sizeof(tstr) - 2); /* Because of some codes like sr_SR at latin... */
+	BLI_join_dirfile(path, maxlen, root, tstr);
+	strcat(tstr, ".po");
+	BLI_join_dirfile(path, maxlen, path, tstr);
 	if (BLI_is_file(path))
 		return;
 	path[0] = '\0';

Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -1030,7 +1030,7 @@
 	if (draw_flags & DRAW_FACE_SELECT)
 		facemask = wpaint__setSolidDrawOptions_facemask;
 
-	if (ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
+	if (ob->mode & OB_MODE_WEIGHT_PAINT) {
 
 		if (do_light) {
 			const float spec[4] = {0.47f, 0.47f, 0.47f, 0.47f};

Modified: trunk/blender/source/blender/imbuf/intern/moviecache.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/moviecache.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/imbuf/intern/moviecache.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -172,12 +172,13 @@
 
 static void IMB_moviecache_destructor(void *p)
 {
-	MovieCacheItem *item = (MovieCacheItem *) p;
-	MovieCache *cache = item->cache_owner;
+	MovieCacheItem *item = (MovieCacheItem *)p;
 
-	PRINT("%s: cache '%s' destroy item %p buffer %p\n", __func__, cache->name, item, item->ibuf);
+	if (item && item->ibuf) {
+		MovieCache *cache = item->cache_owner;
 
-	if (item && item->ibuf) {
+		PRINT("%s: cache '%s' destroy item %p buffer %p\n", __func__, cache->name, item, item->ibuf);
+
 		IMB_freeImBuf(item->ibuf);
 
 		item->ibuf = NULL;

Modified: trunk/blender/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -606,11 +606,9 @@
 	bNode *node;
 	ListBase threads;
 	ThreadData thdata;
-	int totnode, curnode, rendering= 1, n;
-	bNodeTreeExec *exec= ntree->execdata;
-	
-	if (ntree == NULL) return;
-	
+	int totnode, curnode, rendering = TRUE, n;
+	bNodeTreeExec *exec = ntree->execdata;
+
 	if (do_preview)
 		ntreeInitPreview(ntree, 0, 0);
 	

Modified: trunk/blender/source/blender/render/intern/source/render_texture.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/render_texture.c	2012-09-05 00:59:04 UTC (rev 50404)
+++ trunk/blender/source/blender/render/intern/source/render_texture.c	2012-09-05 01:42:52 UTC (rev 50405)
@@ -93,13 +93,9 @@
 
 static void init_render_texture(Render *re, Tex *tex)
 {
-	int cfra= re->scene->r.cfra;
-	
-	if (re) cfra= re->r.cfra;
-	
 	/* imap test */
 	if (tex->ima && ELEM(tex->ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
-		BKE_image_user_frame_calc(&tex->iuser, cfra, re?re->flag & R_SEC_FIELD:0);
+		BKE_image_user_frame_calc(&tex->iuser, re->r.cfra, re?re->flag & R_SEC_FIELD:0);
 	}
 	
 	else if (tex->type==TEX_ENVMAP) {




More information about the Bf-blender-cvs mailing list