diff --git a/GUI/Model/FromCore/GUIExamplesFactory.cpp b/GUI/Model/FromCore/GUIExamplesFactory.cpp index 1cc4beef14db80c1d35c478400ab9cfb0dd44b54..5dcb52f406beb1bd527ae85a390f9ad5f44233a3 100644 --- a/GUI/Model/FromCore/GUIExamplesFactory.cpp +++ b/GUI/Model/FromCore/GUIExamplesFactory.cpp @@ -67,7 +67,7 @@ SampleItem* GUI::ExamplesFactory::itemizeSample(const QString& name) { ASSERT(isValidExampleName(name)); MultiLayer* sample = std::get<2>(builders[name])(); - + ASSERT(sample); return GUI::FromCore::itemizeSample(*sample, name); } diff --git a/GUI/View/View/SampleView.cpp b/GUI/View/View/SampleView.cpp index e0542113974f37f93ee933ffe6ceaf76a1e20743..224c48c7bbd05880e1372d9c8fe73327de4735b9 100644 --- a/GUI/View/View/SampleView.cpp +++ b/GUI/View/View/SampleView.cpp @@ -21,6 +21,7 @@ #include "GUI/Model/Sample/ParticleLayoutItem.h" #include "GUI/Model/Sample/SamplesSet.h" #include "GUI/View/Base/mainwindow_constants.h" +#include "GUI/View/Info/MessageBox.h" #include "GUI/View/IO/PythonImport.h" #include "GUI/View/Modelview/SetView.h" #include "GUI/View/Realspace/RealspacePanel.h" @@ -166,12 +167,15 @@ void SampleView::createActions(QToolBar* toolbar) auto* action = import_menu->addAction(icon, title); action->setToolTip(description); connect(action, &QAction::triggered, [this, exampleName, title, description] { - SampleItem* t = GUI::ExamplesFactory::itemizeSample(exampleName); - if (!t) - return; - t->setName(title); - t->setDescription(description); - m_set->add_item(t); + try { + SampleItem* t = GUI::ExamplesFactory::itemizeSample(exampleName); + ASSERT(t); + t->setName(title); + t->setDescription(description); + m_set->add_item(t); + } catch (const std::exception& ex) { + GUI::Message::warning("Cannot load exemplary sample", ex.what()); + } }); }