diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2022-10-10 18:42:44 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2022-10-10 18:55:08 +0300 |
commit | 95aac5df736e8bbf0fe55954524e42845ba7e20a (patch) | |
tree | a9931d72769615ffdf93f9c42c45cf9c875b9d1c /intern/cycles/session/session.cpp | |
parent | 7d7318f6c59ce2866a371138b1db20137c2a1a9f (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.cpp | 4 |
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 ¶ms_, 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. */ |