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);
        }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to