[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33600] trunk/blender/source/blender: Small fix:

Ton Roosendaal ton at blender.org
Sat Dec 11 17:06:25 CET 2010


Revision: 33600
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33600
Author:   ton
Date:     2010-12-11 17:06:25 +0100 (Sat, 11 Dec 2010)

Log Message:
-----------
Small fix: 

Material Properties: adding new materials didn't create a new preview
icon for it.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_object.c
    trunk/blender/source/blender/windowmanager/intern/wm_jobs.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-12-11 13:51:04 UTC (rev 33599)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2010-12-11 16:06:25 UTC (rev 33600)
@@ -583,6 +583,7 @@
 {
 	Object *ob= (Object*)ptr->id.data;
 
+	DAG_id_tag_update(value.data, 0);
 	assign_material(ob, value.data, ob->actcol);
 }
 

Modified: trunk/blender/source/blender/windowmanager/intern/wm_jobs.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_jobs.c	2010-12-11 13:51:04 UTC (rev 33599)
+++ trunk/blender/source/blender/windowmanager/intern/wm_jobs.c	2010-12-11 16:06:25 UTC (rev 33600)
@@ -248,19 +248,32 @@
 	int suspend= 0;
 	
 	for(steve= wm->jobs.first; steve; steve= steve->next) {
+		/* obvious case, no test needed */
 		if(steve==test || !steve->running) continue;
-		if(steve->startjob!=test->startjob && !(test->flag & WM_JOB_EXCL_RENDER)) continue;
-		if((test->flag & WM_JOB_EXCL_RENDER) && !(steve->flag & WM_JOB_EXCL_RENDER)) continue;
+		
+		/* if new job is not render, then check for same startjob */
+		if(0==(test->flag & WM_JOB_EXCL_RENDER)) 
+			if(steve->startjob!=test->startjob)
+				continue;
+		
+		/* if new job is render, any render job should be stopped */
+		if(test->flag & WM_JOB_EXCL_RENDER)
+		   if(0==(steve->flag & WM_JOB_EXCL_RENDER)) 
+			   continue;
 
 		suspend= 1;
 
 		/* if this job has higher priority, stop others */
-		if(test->flag & WM_JOB_PRIORITY)
+		if(test->flag & WM_JOB_PRIORITY) {
 			steve->stop= 1;
+			// printf("job stopped: %s\n", steve->name);
+		}
 	}
 
 	/* possible suspend ourselfs, waiting for other jobs, or de-suspend */
 	test->suspended= suspend;
+	// if(suspend) printf("job suspended: %s\n", test->name);
+
 }
 
 /* if job running, the same owner gave it a new job */
@@ -294,7 +307,7 @@
 				BLI_init_threads(&steve->threads, do_job_thread, 1);
 				BLI_insert_thread(&steve->threads, steve);
 
-				// printf("job started\n");
+				// printf("job started: %s\n", steve->name);
 			}
 			
 			/* restarted job has timer already */





More information about the Bf-blender-cvs mailing list