[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42445] trunk/blender: Cycles:

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Dec 5 20:55:03 CET 2011


Revision: 42445
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42445
Author:   blendix
Date:     2011-12-05 19:54:59 +0000 (Mon, 05 Dec 2011)
Log Message:
-----------
Cycles:
Fix #29475: remove node from properties editor crash on windows. This was a bug
in the UI code, which code access removed data.
Fix OpenCL still being used in a case where Experimental was disabled.
Fix msvc debug warning in md5 code.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/util/util_md5.cpp
    trunk/blender/source/blender/editors/interface/interface_handlers.c

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2011-12-05 19:31:21 UTC (rev 42444)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2011-12-05 19:54:59 UTC (rev 42445)
@@ -264,7 +264,12 @@
 
 	if(RNA_enum_get(&cscene, "device") != 0) {
 		vector<DeviceType> types = Device::available_types();
-		DeviceType dtype = (RNA_enum_get(&cscene, "gpu_type") == 0)? DEVICE_CUDA: DEVICE_OPENCL;
+		DeviceType dtype;
+		
+		if(!experimental || RNA_enum_get(&cscene, "gpu_type") == 0)
+			dtype = DEVICE_CUDA;
+		else
+			dtype = DEVICE_CUDA;
 
 		if(device_type_available(types, dtype))
 			params.device_type = dtype;

Modified: trunk/blender/intern/cycles/util/util_md5.cpp
===================================================================
--- trunk/blender/intern/cycles/util/util_md5.cpp	2011-12-05 19:31:21 UTC (rev 42444)
+++ trunk/blender/intern/cycles/util/util_md5.cpp	2011-12-05 19:54:59 UTC (rev 42445)
@@ -361,14 +361,15 @@
 string MD5Hash::get_hex()
 {
 	uint8_t digest[16];
-	char buf[16*2];
+	char buf[16*2+1];
 
 	finish(digest);
 
 	for(int i=0; i<16; i++)
 		sprintf(buf + i*2, "%02X", digest[i]);
+	buf[sizeof(buf)-1] = '\0';
 	
-	return string(buf, sizeof(buf));
+	return string(buf);
 }
 
 CCL_NAMESPACE_END

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-12-05 19:31:21 UTC (rev 42444)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-12-05 19:54:59 UTC (rev 42445)
@@ -5241,9 +5241,10 @@
 
 	data->state= state;
 
-	if(state != BUTTON_STATE_EXIT) {
+	if(!ELEM(state, BUTTON_STATE_EXIT, BUTTON_STATE_HIGHLIGHT)) {
 		/* When objects for eg. are removed, running ui_check_but()
-		 * can access the removed data - so disable update on exit */
+		 * can access the removed data - so disable update on exit
+		 * or highlight */
 		ui_check_but(but);
 	}
 




More information about the Bf-blender-cvs mailing list