diff --git a/src/Mod/Raytracing/App/AppRaytracing.cpp b/src/Mod/Raytracing/App/AppRaytracing.cpp index db669ec9a..d453e9fce 100644 --- a/src/Mod/Raytracing/App/AppRaytracing.cpp +++ b/src/Mod/Raytracing/App/AppRaytracing.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include "RayFeature.h" @@ -40,7 +41,7 @@ namespace Raytracing { } -PyMODINIT_FUNC initRaytracing() +PyMOD_INIT_FUNC(Raytracing) { // load dependent module try { @@ -48,7 +49,7 @@ PyMODINIT_FUNC initRaytracing() } catch(const Base::Exception& e) { PyErr_SetString(PyExc_ImportError, e.what()); - return; + PyMOD_Return(0); } Raytracing::RaySegment ::init(); @@ -58,6 +59,7 @@ PyMODINIT_FUNC initRaytracing() Raytracing::LuxProject ::init(); - (void) Raytracing::initModule(); + PyObject* mod = Raytracing::initModule(); Base::Console().Log("Loading Raytracing module... done\n"); + PyMOD_Return(mod); } diff --git a/src/Mod/Raytracing/App/AppRaytracingPy.cpp b/src/Mod/Raytracing/App/AppRaytracingPy.cpp index 0b8fa83d3..03218f136 100644 --- a/src/Mod/Raytracing/App/AppRaytracingPy.cpp +++ b/src/Mod/Raytracing/App/AppRaytracingPy.cpp @@ -201,8 +201,10 @@ private: vecs[i][l] = PyFloat_AsDouble(temp); else if (PyLong_Check(temp)) vecs[i][l] = (double) PyLong_AsLong(temp); +#if PY_MAJOR_VERSION < 3 else if (PyInt_Check(temp)) vecs[i][l] = (double) PyInt_AsLong(temp); +#endif else throw Py::ValueError("Wrong parameter format, four Tuple of three floats needed!"); } diff --git a/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp b/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp index 5254dc73d..6a0cf2ddc 100644 --- a/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp +++ b/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp @@ -51,11 +51,11 @@ namespace RaytracingGui { } -PyMODINIT_FUNC initRaytracingGui() +PyMOD_INIT_FUNC(RaytracingGui) { if (!Gui::Application::Instance) { PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application."); - return; + PyMOD_Return(0); } try { @@ -63,9 +63,9 @@ PyMODINIT_FUNC initRaytracingGui() } catch(const Base::Exception& e) { PyErr_SetString(PyExc_ImportError, e.what()); - return; + PyMOD_Return(0); } - (void) RaytracingGui::initModule(); + PyObject* mod = RaytracingGui::initModule(); Base::Console().Log("Loading GUI of Raytracing module... done\n"); // instantiating the commands @@ -79,4 +79,6 @@ PyMODINIT_FUNC initRaytracingGui() // add resources and reloads the translators loadRaytracingResource(); + + PyMOD_Return(mod); }