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
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2022-10-10 18:42:44 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2022-10-10 18:55:08 +0300
commit95aac5df736e8bbf0fe55954524e42845ba7e20a (patch)
treea9931d72769615ffdf93f9c42c45cf9c875b9d1c /intern/cycles/session/session.cpp
parent7d7318f6c59ce2866a371138b1db20137c2a1a9f (diff)
Fix T101651: Cycles crashes when failing to initialize render device
The issue here was that PathTraceWork was set up before checking if any error occurred, and it didn't account for the dummy device so it called a non-implemented function. This fix therefore avoids creating PathTraceWork for dummy devices and checks for device creation errors earlier in the process.
Diffstat (limited to 'intern/cycles/session/session.cpp')
-rw-r--r--intern/cycles/session/session.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/intern/cycles/session/session.cpp b/intern/cycles/session/session.cpp
index a0eb3196a34..acaa55f4990 100644
--- a/intern/cycles/session/session.cpp
+++ b/intern/cycles/session/session.cpp
@@ -43,6 +43,10 @@ Session::Session(const SessionParams &params_, const SceneParams &scene_params)
device = Device::create(params.device, stats, profiler);
+ if (device->have_error()) {
+ progress.set_error(device->error_message());
+ }
+
scene = new Scene(scene_params, device);
/* Configure path tracer. */