diff --git a/src/Mod/Part/Gui/DlgExtrusion.cpp b/src/Mod/Part/Gui/DlgExtrusion.cpp index ce1f616d8..985e25970 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.cpp +++ b/src/Mod/Part/Gui/DlgExtrusion.cpp @@ -129,6 +129,11 @@ DlgExtrusion::DlgExtrusion(QWidget* parent, Qt::WindowFlags fl) */ DlgExtrusion::~DlgExtrusion() { + if (filter){ + Gui::Selection().rmvSelectionGate(); + filter = nullptr; + } + // no need to delete child widgets, Qt does it all for us delete ui; } @@ -463,6 +468,14 @@ void DlgExtrusion::apply() } } +void DlgExtrusion::reject() +{ + if (filter) //if still selecting edge - stop. + this->on_btnSelectEdge_clicked(); + + QDialog::reject(); +} + Base::Vector3d DlgExtrusion::getDir() const { return Base::Vector3d( @@ -721,6 +734,7 @@ bool TaskExtrusion::accept() bool TaskExtrusion::reject() { + widget->reject(); return true; } diff --git a/src/Mod/Part/Gui/DlgExtrusion.h b/src/Mod/Part/Gui/DlgExtrusion.h index ab0ac8324..318e63281 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.h +++ b/src/Mod/Part/Gui/DlgExtrusion.h @@ -43,6 +43,7 @@ public: ~DlgExtrusion(); void accept(); void apply(); + void reject(); Base::Vector3d getDir() const; void setDir(Base::Vector3d newDir);