use cleaner way to instantiate PyRainmeter
This commit is contained in:
parent
7dccf686d9
commit
60c3938ccd
|
@ -193,10 +193,10 @@ PyObject* CreateRainmeterObject(void *rm)
|
||||||
{
|
{
|
||||||
if (!(rainmeterType.tp_flags & Py_TPFLAGS_READY))
|
if (!(rainmeterType.tp_flags & Py_TPFLAGS_READY))
|
||||||
{
|
{
|
||||||
|
rainmeterType.tp_new = PyType_GenericNew;
|
||||||
PyType_Ready(&rainmeterType);
|
PyType_Ready(&rainmeterType);
|
||||||
}
|
}
|
||||||
Py_INCREF(&rainmeterType);
|
PyObject *obj = PyObject_CallObject((PyObject*) &rainmeterType, NULL);
|
||||||
RainmeterObject *obj = PyObject_New(RainmeterObject, &rainmeterType);
|
((RainmeterObject*)obj)->rm = rm;
|
||||||
obj->rm = rm;
|
|
||||||
return (PyObject*) obj;
|
return (PyObject*) obj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,12 +169,12 @@ PLUGIN_EXPORT double Update(void* data)
|
||||||
if (resultObj != NULL)
|
if (resultObj != NULL)
|
||||||
{
|
{
|
||||||
result = PyFloat_Check(resultObj) ? PyFloat_AsDouble(resultObj) : 0.0;
|
result = PyFloat_Check(resultObj) ? PyFloat_AsDouble(resultObj) : 0.0;
|
||||||
|
Py_DECREF(resultObj);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
}
|
}
|
||||||
Py_XDECREF(resultObj);
|
|
||||||
PyEval_SaveThread();
|
PyEval_SaveThread();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue