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);
}