From 2d080dd92b4c34b9c9264cf88054b33dc8b8bd70 Mon Sep 17 00:00:00 2001 From: jrheinlaender Date: Sun, 7 Jul 2013 11:31:14 +0200 Subject: [PATCH] Prevent unnecessary error messages while loading a part --- src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp | 10 ++++++---- src/Mod/PartDesign/Gui/ViewProviderGroove.cpp | 4 +++- src/Mod/PartDesign/Gui/ViewProviderPad.cpp | 4 +++- src/Mod/PartDesign/Gui/ViewProviderPocket.cpp | 4 +++- src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp | 4 +++- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp index f5986f053..3bd3f6863 100644 --- a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp @@ -350,10 +350,12 @@ bool TaskDlgBooleanParameters::reject() PartDesign::Boolean* obj = static_cast(BooleanView->getObject()); Gui::Document* doc = Gui::Application::Instance->activeDocument(); if (doc != NULL) { - doc->setShow(obj->BaseFeature.getValue()->getNameInDocument()); - std::vector bodies = obj->Bodies.getValues(); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) - doc->setShow((*b)->getNameInDocument()); + if (obj->BaseFeature.getValue() != NULL) { + doc->setShow(obj->BaseFeature.getValue()->getNameInDocument()); + std::vector bodies = obj->Bodies.getValues(); + for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) + doc->setShow((*b)->getNameInDocument()); + } } // roll back the done things diff --git a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp index 09b120110..e87c6db1f 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp @@ -54,7 +54,9 @@ ViewProviderGroove::~ViewProviderGroove() std::vector ViewProviderGroove::claimChildren(void)const { std::vector temp; - temp.push_back(static_cast(getObject())->Sketch.getValue()); + App::DocumentObject* sketch = static_cast(getObject())->Sketch.getValue(); + if (sketch != NULL) + temp.push_back(sketch); return temp; } diff --git a/src/Mod/PartDesign/Gui/ViewProviderPad.cpp b/src/Mod/PartDesign/Gui/ViewProviderPad.cpp index 4204ca62d..3c7745a67 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPad.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPad.cpp @@ -55,7 +55,9 @@ ViewProviderPad::~ViewProviderPad() std::vector ViewProviderPad::claimChildren(void)const { std::vector temp; - temp.push_back(static_cast(getObject())->Sketch.getValue()); + App::DocumentObject* sketch = static_cast(getObject())->Sketch.getValue(); + if (sketch != NULL) + temp.push_back(sketch); return temp; } diff --git a/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp b/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp index 23d04a981..8a0639d7a 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp @@ -54,7 +54,9 @@ ViewProviderPocket::~ViewProviderPocket() std::vector ViewProviderPocket::claimChildren(void)const { std::vector temp; - temp.push_back(static_cast(getObject())->Sketch.getValue()); + App::DocumentObject* sketch = static_cast(getObject())->Sketch.getValue(); + if (sketch != NULL) + temp.push_back(sketch); return temp; } diff --git a/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp b/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp index 05b18d4d9..86bcd221c 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp @@ -54,7 +54,9 @@ ViewProviderRevolution::~ViewProviderRevolution() std::vector ViewProviderRevolution::claimChildren(void)const { std::vector temp; - temp.push_back(static_cast(getObject())->Sketch.getValue()); + App::DocumentObject* sketch = static_cast(getObject())->Sketch.getValue(); + if (sketch != NULL) + temp.push_back(sketch); return temp; }