diff --git a/src/Mod/Surface/Gui/TaskFilling.cpp b/src/Mod/Surface/Gui/TaskFilling.cpp
index a97b8d14aa..48c2f4be93 100644
--- a/src/Mod/Surface/Gui/TaskFilling.cpp
+++ b/src/Mod/Surface/Gui/TaskFilling.cpp
@@ -421,9 +421,6 @@ bool FillingPanel::accept()
editedObject->InitialFace.getSubValues()));
this->vp->highlightReferences(ViewProviderFilling::Face, links, false);
- Gui::Command::commitCommand();
- Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
- Gui::Command::updateActive();
return true;
}
@@ -441,9 +438,6 @@ bool FillingPanel::reject()
selectionMode = None;
Gui::Selection().rmvSelectionGate();
- Gui::Command::abortCommand();
- Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
- Gui::Command::updateActive();
return true;
}
@@ -828,12 +822,28 @@ void TaskFilling::open()
bool TaskFilling::accept()
{
- return widget1->accept();
+ bool ok = widget1->accept();
+ if (ok) {
+ widget2->reject();
+ Gui::Command::commitCommand();
+ Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
+ Gui::Command::updateActive();
+ }
+
+ return ok;
}
bool TaskFilling::reject()
{
- return widget1->reject();
+ bool ok = widget1->reject();
+ if (ok) {
+ widget2->reject();
+ Gui::Command::abortCommand();
+ Gui::Command::doCommand(Gui::Command::Gui,"Gui.ActiveDocument.resetEdit()");
+ Gui::Command::updateActive();
+ }
+
+ return ok;
}
}
diff --git a/src/Mod/Surface/Gui/TaskFillingVertex.cpp b/src/Mod/Surface/Gui/TaskFillingVertex.cpp
index dbe3b38b6d..b9246d673c 100644
--- a/src/Mod/Surface/Gui/TaskFillingVertex.cpp
+++ b/src/Mod/Surface/Gui/TaskFillingVertex.cpp
@@ -189,6 +189,12 @@ void FillingVertexPanel::open()
Gui::Selection().clearSelection();
}
+void FillingVertexPanel::reject()
+{
+ this->vp->highlightReferences(ViewProviderFilling::Vertex,
+ editedObject->Points.getSubListValues(), false);
+}
+
void FillingVertexPanel::clearSelection()
{
Gui::Selection().clearSelection();
@@ -290,7 +296,7 @@ void FillingVertexPanel::onSelectionChanged(const Gui::SelectionChanges& msg)
}
}
this->vp->highlightReferences(ViewProviderFilling::Vertex,
- editedObject->Points.getSubListValues(), false);
+ editedObject->Points.getSubListValues(), true);
}
editedObject->recomputeFeature();
diff --git a/src/Mod/Surface/Gui/TaskFillingVertex.h b/src/Mod/Surface/Gui/TaskFillingVertex.h
index 157ca40daa..a1a704fb07 100644
--- a/src/Mod/Surface/Gui/TaskFillingVertex.h
+++ b/src/Mod/Surface/Gui/TaskFillingVertex.h
@@ -61,6 +61,7 @@ public:
~FillingVertexPanel();
void open();
+ void reject();
void checkOpenCommand();
void setEditedObject(Surface::Filling* obj);
diff --git a/src/Mod/Surface/Gui/TaskFillingVertex.ui b/src/Mod/Surface/Gui/TaskFillingVertex.ui
index e82452c75b..7e939ad7e8 100644
--- a/src/Mod/Surface/Gui/TaskFillingVertex.ui
+++ b/src/Mod/Surface/Gui/TaskFillingVertex.ui
@@ -36,9 +36,6 @@
Add Vertex
-
- true
-
false
@@ -55,9 +52,6 @@
Remove Vertex
-
- true
-