diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp index 2e6587e420..3b8e31f8d2 100644 --- a/src/Gui/Selection.cpp +++ b/src/Gui/Selection.cpp @@ -1247,9 +1247,13 @@ PyObject *SelectionSingleton::sGetSelection(PyObject * /*self*/, PyObject *args) sel = Selection().getSelection(documentName); try { + std::set noduplicates; Py::List list; for (std::vector::iterator it = sel.begin(); it != sel.end(); ++it) { - list.append(Py::asObject(it->pObject->getPyObject())); + noduplicates.insert(it->pObject); + } + for (std::set::iterator it = noduplicates.begin(); it != noduplicates.end(); ++it) { + list.append(Py::asObject((*it)->getPyObject())); } return Py::new_reference_to(list); }