From 83a0078bd53f432c29aab7f243364c9f24d0edb6 Mon Sep 17 00:00:00 2001 From: WandererFan Date: Sat, 2 Apr 2016 12:49:52 -0400 Subject: [PATCH] Fix App logic in ViewProviders -> segfaults --- src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp | 7 ------- src/Mod/TechDraw/Gui/ViewProviderDrawingView.h | 1 - src/Mod/TechDraw/Gui/ViewProviderPage.cpp | 2 -- src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp | 10 ---------- src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h | 2 -- 5 files changed, 22 deletions(-) diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp index a615b668a..ef1f57a41 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp @@ -135,10 +135,3 @@ TechDraw::DrawView* ViewProviderDrawingView::getViewObject() const return dynamic_cast(pcObject); } -bool ViewProviderDrawingView::onDelete(const std::vector &items) -{ - //int viewCount = - static_cast (getViewObject()->findParentPage()->removeView(getViewObject())); - Gui::Selection().clearSelection(); - return ViewProviderDocumentObject::onDelete(items); -} diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h index 4ba29b13b..fe8e0aeb7 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h +++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h @@ -63,7 +63,6 @@ public: virtual void startRestoring(); virtual void finishRestoring(); //@} - virtual bool onDelete(const std::vector &items); TechDraw::DrawView* getViewObject() const; }; diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp index 639b4b1b3..8c8f67eeb 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp @@ -145,8 +145,6 @@ void ViewProviderPage::updateData(const App::Property* prop) bool ViewProviderPage::onDelete(const std::vector &items) { if (!view.isNull()) { - // TODO: if DrawingPage has children, they should be deleted too, since they are useless without the page. - // logic is in the "this object has links are you sure" dialog Gui::getMainWindow()->removeWindow(view); Gui::getMainWindow()->activatePreviousWindow(); view->deleteLater(); // Delete the drawing view; diff --git a/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp b/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp index 8b984a703..e5bfb2c0c 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.cpp @@ -141,16 +141,6 @@ bool ViewProviderProjGroupItem::doubleClicked(void) return true; } -bool ViewProviderProjGroupItem::onDelete(const std::vector &subList) -{ - - Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.removeObject(\"%s\")" - ,getObject()->getNameInDocument()); - Gui::Command::commitCommand(); - Gui::Command::updateActive(); - return false; - -} TechDraw::DrawProjGroupItem* ViewProviderProjGroupItem::getObject() const { diff --git a/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h b/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h index aac27b2d3..41f038fb9 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h +++ b/src/Mod/TechDraw/Gui/ViewProviderProjGroupItem.h @@ -52,8 +52,6 @@ public: void setupContextMenu(QMenu*, QObject*, const char*); virtual void updateData(const App::Property*); - bool onDelete(const std::vector &subList); - TechDraw::DrawProjGroupItem* getObject() const; void unsetEdit(int ModNum);