From a93c893dc1fa63dec2180a2a970cb022fdedf094 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 10 Sep 2018 20:31:54 +0200 Subject: [PATCH] fixes #0003583: Using the raytracing WB crashes FreeCAD --- src/Mod/Raytracing/Gui/Command.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Mod/Raytracing/Gui/Command.cpp b/src/Mod/Raytracing/Gui/Command.cpp index 2e99b28155..70a715218d 100644 --- a/src/Mod/Raytracing/Gui/Command.cpp +++ b/src/Mod/Raytracing/Gui/Command.cpp @@ -340,6 +340,13 @@ void CmdRaytracingNewPovrayProject::activated(int iMsg) std::string FeatName = getUniqueObjectName("PovProject"); Gui::ActionGroup* pcAction = qobject_cast(getAction()); + if (pcAction->actions().isEmpty()) { + QMessageBox::warning(Gui::getMainWindow(), + qApp->translate("CmdRaytracingWriteView","No template"), + qApp->translate("CmdRaytracingWriteView","Cannot create a project because there is no template installed.")); + return; + } + QAction* a = pcAction->actions()[iMsg]; QFileInfo tfi(a->property("Template").toString()); if (tfi.isReadable()) { @@ -731,6 +738,13 @@ void CmdRaytracingNewLuxProject::activated(int iMsg) std::string FeatName = getUniqueObjectName("LuxProject"); Gui::ActionGroup* pcAction = qobject_cast(getAction()); + if (pcAction->actions().isEmpty()) { + QMessageBox::warning(Gui::getMainWindow(), + qApp->translate("CmdRaytracingWriteView","No template"), + qApp->translate("CmdRaytracingWriteView","Cannot create a project because there is no template installed.")); + return; + } + QAction* a = pcAction->actions()[iMsg]; QFileInfo tfi(a->property("Template").toString()); if (tfi.isReadable()) {