diff --git a/src/Gui/ViewProviderGroupExtension.cpp b/src/Gui/ViewProviderGroupExtension.cpp index f78084830d..8ac8961385 100644 --- a/src/Gui/ViewProviderGroupExtension.cpp +++ b/src/Gui/ViewProviderGroupExtension.cpp @@ -144,10 +144,14 @@ void ViewProviderGroupExtension::extensionHide(void) { const std::vector & links = group->Group.getValues(); Gui::Document* doc = Application::Instance->getDocument(getExtendedViewProvider()->getObject()->getDocument()); - for (std::vector::const_iterator it = links.begin(); it != links.end(); ++it) { - ViewProvider* view = doc->getViewProvider(*it); - if (view) - view->hide(); + // doc pointer can be null in case the document is about to be destroyed + // See https://forum.freecadweb.org/viewtopic.php?f=22&t=26797&p=218804#p218521 + if (doc) { + for (std::vector::const_iterator it = links.begin(); it != links.end(); ++it) { + ViewProvider* view = doc->getViewProvider(*it); + if (view) + view->hide(); + } } }