From 20a78cce43be843364258dcad8a646d6c112ce64 Mon Sep 17 00:00:00 2001 From: alves Date: Wed, 7 Jan 2026 16:43:17 +0800 Subject: [PATCH] fix exit application and check the data is valid.then don't use undefine data. --- src/slic3r/GUI/GLCanvas3D.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 815fce5d5a..abad24d327 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1330,7 +1330,10 @@ void GLCanvas3D::reset_volumes() m_volumes.clear(); m_dirty = true; - _set_warning_notification(EWarning::ObjectOutside, false); + if (wxGetApp.plater() && wxGetApp().plater()->get_notification_manager()) + { + _set_warning_notification(EWarning::ObjectOutside, false); + } } //BBS: get current plater's bounding box @@ -9695,8 +9698,15 @@ void GLCanvas3D::_set_warning_notification(EWarning warning, bool state) //BBS: this may happened when exit the app, plater is null if (!wxGetApp().plater()) return; + NotificationManager* notification_managerEx = wxGetApp().plater()->get_notification_manager(); auto& notification_manager = *wxGetApp().plater()->get_notification_manager(); + if (!notification_managerEx) + { + BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format("notification_manager is null"); + return; + } + switch (error) { case PLATER_WARNING: