diff --git a/src/Mod/Part/Gui/DlgExtrusion.cpp b/src/Mod/Part/Gui/DlgExtrusion.cpp index 6adcaa4ae3..3cf54c0c72 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.cpp +++ b/src/Mod/Part/Gui/DlgExtrusion.cpp @@ -49,6 +49,8 @@ #include #include +#include + #include "ui_DlgExtrusion.h" #include "DlgExtrusion.h" @@ -492,9 +494,11 @@ void DlgExtrusion::apply() this->writeParametersToFeature(*newObj, sourceObj); - Gui::Command::copyVisual(newObj, "ShapeAppearance", sourceObj); - Gui::Command::copyVisual(newObj, "LineColor", sourceObj); - Gui::Command::copyVisual(newObj, "PointColor", sourceObj); + if (!sourceObj->isDerivedFrom()) { + Gui::Command::copyVisual(newObj, "ShapeAppearance", sourceObj); + Gui::Command::copyVisual(newObj, "LineColor", sourceObj); + Gui::Command::copyVisual(newObj, "PointColor", sourceObj); + } FCMD_OBJ_HIDE(sourceObj); } @@ -792,3 +796,4 @@ void TaskExtrusion::clicked(int id) } #include "moc_DlgExtrusion.cpp" + diff --git a/src/Mod/Part/Gui/DlgRevolution.cpp b/src/Mod/Part/Gui/DlgRevolution.cpp index b9fb3701e3..f20c6ca1c9 100644 --- a/src/Mod/Part/Gui/DlgRevolution.cpp +++ b/src/Mod/Part/Gui/DlgRevolution.cpp @@ -49,6 +49,8 @@ #include #include +#include + #include "DlgRevolution.h" #include "ui_DlgRevolution.h" @@ -434,11 +436,15 @@ void DlgRevolution::accept() symmetric) //%13 ; Gui::Command::runCommand(Gui::Command::App, code.toLatin1()); - QByteArray to = name.toLatin1(); - QByteArray from = shape.toLatin1(); - Gui::Command::copyVisual(to, "ShapeAppearance", from); - Gui::Command::copyVisual(to, "LineColor", from); - Gui::Command::copyVisual(to, "PointColor", from); + + auto newObj = activeDoc->getObject(name.toStdString().c_str()); + auto sourceObj = activeDoc->getObject(shape.toStdString().c_str()); + + if (!sourceObj->isDerivedFrom()) { + Gui::Command::copyVisual(newObj, "ShapeAppearance", sourceObj); + Gui::Command::copyVisual(newObj, "LineColor", sourceObj); + Gui::Command::copyVisual(newObj, "PointColor", sourceObj); + } } activeDoc->commitTransaction(); @@ -585,3 +591,4 @@ bool TaskRevolution::accept() } #include "moc_DlgRevolution.cpp" +