diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 02da32008c..ad14a9ce9c 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -606,12 +606,13 @@ void Application::exportTo(const char* FileName, const char* DocName, const char } std::stringstream str; - std::set unique_objs; + std::set unique_objs; str << "__objs__=[]" << std::endl; for (std::vector::iterator it = sel.begin(); it != sel.end(); ++it) { - if (unique_objs.insert(*it).second) - str << "__objs__.append(FreeCAD.getDocument(\"" << DocName << "\").getObject(\"" - << (*it)->getNameInDocument() << "\"))" << std::endl; + if (unique_objs.insert(*it).second) { + str << "__objs__.append(FreeCAD.getDocument(\"" << DocName << "\").getObject(\"" + << (*it)->getNameInDocument() << "\"))" << std::endl; + } } str << "import " << Module << std::endl; diff --git a/src/Gui/CommandDoc.cpp b/src/Gui/CommandDoc.cpp index abe4073bd0..8f2b245bf9 100644 --- a/src/Gui/CommandDoc.cpp +++ b/src/Gui/CommandDoc.cpp @@ -928,10 +928,12 @@ StdCmdDuplicateSelection::StdCmdDuplicateSelection() void StdCmdDuplicateSelection::activated(int iMsg) { std::vector sel = Selection().getCompleteSelection(); + std::set unique_objs; std::map< App::Document*, std::vector > objs; for (std::vector::iterator it = sel.begin(); it != sel.end(); ++it) { if (it->pObject && it->pObject->getDocument()) { - objs[it->pObject->getDocument()].push_back(it->pObject); + if (unique_objs.insert(it->pObject).second) + objs[it->pObject->getDocument()].push_back(it->pObject); } } diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 33d651e118..f73a88444e 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -1318,12 +1318,12 @@ void MainWindow::dragEnterEvent (QDragEnterEvent * e) QMimeData * MainWindow::createMimeDataFromSelection () const { std::vector selobj = Selection().getCompleteSelection(); - std::set unique_objs; + std::set unique_objs; std::map< App::Document*, std::vector > objs; for (std::vector::iterator it = selobj.begin(); it != selobj.end(); ++it) { if (it->pObject && it->pObject->getDocument()) { - if (unique_objs.insert(it->pObject).second) - objs[it->pObject->getDocument()].push_back(it->pObject); + if (unique_objs.insert(it->pObject).second) + objs[it->pObject->getDocument()].push_back(it->pObject); } }