diff --git a/src/Mod/Part/App/PartPyCXX.cpp b/src/Mod/Part/App/PartPyCXX.cpp index b9ffe79b30..15b3c89fd5 100644 --- a/src/Mod/Part/App/PartPyCXX.cpp +++ b/src/Mod/Part/App/PartPyCXX.cpp @@ -80,3 +80,16 @@ PartExport Py::Object shape2pyshape(const TopoDS_Shape &shape) return Py::asObject(ret); } } //namespace Part + + +namespace Py { + template<> + bool TopoShape::accepts (PyObject *pyob) const + { + return (pyob && PyObject_TypeCheck(pyob, &(Part::TopoShapePy::Type))); + } + + // explicit template instantiation + template class PartExport ExtensionObject; +} + diff --git a/src/Mod/Part/App/PartPyCXX.h b/src/Mod/Part/App/PartPyCXX.h index eaa4bff5bc..e6ccaa2161 100644 --- a/src/Mod/Part/App/PartPyCXX.h +++ b/src/Mod/Part/App/PartPyCXX.h @@ -29,10 +29,7 @@ namespace Py { typedef ExtensionObject TopoShape; template<> - bool TopoShape::accepts (PyObject *pyob) const - { - return (pyob && PyObject_TypeCheck(pyob, &(Part::TopoShapePy::Type))); - } + bool TopoShape::accepts (PyObject *pyob) const; } #endif //PART_PYCXX_H