@@ -309,19 +309,18 @@ EidosValue_SP Eidos_ExecuteFunction_writeFile(const std::vector<EidosValue_SP> &
309309#ifdef SLIMGUI
310310 // we need to provide SLiMgui with information about the file write we just did; this is gross, but it wants to know
311311 // we make a separate buffer for this purpose, with string copies, to donate to Community with &&
312+ EidosContext *context = p_interpreter.Context ();
313+
314+ if (context)
312315 {
313- EidosContext *context = p_interpreter.Context ();
314316 std::vector<std::string> slimgui_buffer;
315317
316318 slimgui_buffer.reserve (contents_count);
317319
318320 for (int value_index = 0 ; value_index < contents_count; ++value_index)
319321 slimgui_buffer.emplace_back (contents_value->StringRefAtIndex_NOCAST (value_index, nullptr ));
320322
321- if (context)
322- context->FileWriteNotification (file_path, std::move (slimgui_buffer), append);
323- else
324- EIDOS_TERMINATION << " ERROR (Eidos_ExecuteFunction_writeFile): (internal error) no Context in Eidos_ExecuteFunction_writeFile()." << EidosTerminate (nullptr );
323+ context->FileWriteNotification (file_path, std::move (slimgui_buffer), append);
325324 }
326325#endif
327326
@@ -373,8 +372,10 @@ EidosValue_SP Eidos_ExecuteFunction_writeTempFile(const std::vector<EidosValue_S
373372#ifdef SLIMGUI
374373 // we need to provide SLiMgui with information about the file write we just did; this is gross, but it wants to know
375374 // we make a separate buffer for this purpose, with string copies, to donate to Community with &&
375+ EidosContext *context = p_interpreter.Context ();
376+
377+ if (context)
376378 {
377- EidosContext *context = p_interpreter.Context ();
378379 std::string file_path (file_path_cstr);
379380 std::vector<std::string> slimgui_buffer;
380381
@@ -383,10 +384,7 @@ EidosValue_SP Eidos_ExecuteFunction_writeTempFile(const std::vector<EidosValue_S
383384 for (int value_index = 0 ; value_index < contents_count; ++value_index)
384385 slimgui_buffer.emplace_back (contents_value->StringRefAtIndex_NOCAST (value_index, nullptr ));
385386
386- if (context)
387- context->FileWriteNotification (file_path, std::move (slimgui_buffer), false );
388- else
389- EIDOS_TERMINATION << " ERROR (Eidos_ExecuteFunction_writeTempFile): (internal error) no Context in Eidos_ExecuteFunction_writeTempFile()." << EidosTerminate (nullptr );
387+ context->FileWriteNotification (file_path, std::move (slimgui_buffer), false );
390388 }
391389#endif
392390
0 commit comments