diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index 22b75430ee..cdc6100b11 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -328,8 +328,10 @@ int DrawProjGroup::purgeProjections() DrawProjGroupItem* dpgi; DocumentObject* dObj = views.back(); dpgi = dynamic_cast(dObj); - std::string itemName = dpgi->Type.getValueAsString(); - removeProjection(itemName.c_str()); + if (dpgi) { + std::string itemName = dpgi->Type.getValueAsString(); + removeProjection(itemName.c_str()); + } } return Views.getValues().size(); } diff --git a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp index df407521c7..9375d4bb8c 100644 --- a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp @@ -89,7 +89,10 @@ DrawProjGroupItem::~DrawProjGroupItem() void DrawProjGroupItem::onDocumentRestored() { setAutoPos(false); //if restoring from file, use X,Y from file, not auto! - DrawProjGroupItem::execute(); + App::DocumentObjectExecReturn* rc = DrawProjGroupItem::execute(); + if (rc) { + delete rc; + } } diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 81b6a157b7..0bb1184e6b 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -131,10 +131,10 @@ short DrawView::mustExecute() const Scale.isTouched() || ScaleType.isTouched() ); } - if (result) { + if ((bool) result) { return result; } - return App::DocumentObject::mustExecute(); + return App::DocumentObject::mustExecute(); } ////you must override this in derived class diff --git a/src/Mod/TechDraw/Gui/TaskProjGroup.h b/src/Mod/TechDraw/Gui/TaskProjGroup.h index 1dffa30637..28cfd6f8eb 100644 --- a/src/Mod/TechDraw/Gui/TaskProjGroup.h +++ b/src/Mod/TechDraw/Gui/TaskProjGroup.h @@ -90,7 +90,7 @@ private: const char * viewChkIndexToCStr(int index); protected: - ViewProviderProjGroup *viewProvider; + //ViewProviderProjGroup *viewProvider; TechDraw::DrawProjGroup* multiView; bool m_createMode; };