Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2017-05-04 21:49:04 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2017-05-04 21:49:04 +0300
commited688e484329044cb3744bf0977b84518bb921cb (patch)
treefec5c4603874a06bfb8f6907f5bb90c57e174a80 /intern
parenta523dfd2fd8c19ca0fbf9891a3be0988945d585f (diff)
Cycles: Fix crash when assigning KernelGlobals
The memory isn't initialized during allocation, so calling the assignment operator is a bad idea.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/device/device_cpu.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp
index 3c481bb2b39..84cce605182 100644
--- a/intern/cycles/device/device_cpu.cpp
+++ b/intern/cycles/device/device_cpu.cpp
@@ -446,8 +446,7 @@ public:
kgbuffer.resize(sizeof(KernelGlobals));
mem_alloc("kernel_globals", kgbuffer, MEM_READ_WRITE);
- KernelGlobals *kg = (KernelGlobals*)kgbuffer.device_pointer;
- *kg = thread_kernel_globals_init();
+ KernelGlobals *kg = new ((void*) kgbuffer.device_pointer) KernelGlobals(thread_kernel_globals_init());
requested_features.max_closure = MAX_CLOSURE;
if(!split_kernel.load_kernels(requested_features)) {