mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Protect CreatePyModule from CModule*
This commit is contained in:
@@ -146,7 +146,7 @@ public:
|
||||
(eType == CModInfo::GlobalModule ? Py_None : SWIG_NewInstanceObj(GetUser(), SWIG_TypeQuery("CUser*"), 0)),
|
||||
(eType == CModInfo::NetworkModule ? SWIG_NewInstanceObj(GetNetwork(), SWIG_TypeQuery("CIRCNetwork*"), 0) : Py_None),
|
||||
CPyRetString::wrap(sRetMsg),
|
||||
SWIG_NewInstanceObj(reinterpret_cast<CModule*>(this), SWIG_TypeQuery("CModule*"), 0));
|
||||
SWIG_NewInstanceObj(reinterpret_cast<CModule*>(this), SWIG_TypeQuery("CModPython*"), 0));
|
||||
if (!pyRes) {
|
||||
sRetMsg = GetPyExceptionStr();
|
||||
DEBUG("modpython: " << sRetMsg);
|
||||
|
||||
@@ -24,11 +24,11 @@ class CPyModule : public CModule {
|
||||
VWebSubPages* _GetSubPages();
|
||||
public:
|
||||
CPyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath,
|
||||
PyObject* pyObj, CModule* pModPython)
|
||||
PyObject* pyObj, CModPython* pModPython)
|
||||
: CModule(NULL, pUser, pNetwork, sModName, sDataPath) {
|
||||
m_pyObj = pyObj;
|
||||
Py_INCREF(pyObj);
|
||||
m_pModPython = reinterpret_cast<CModPython*>(pModPython);
|
||||
m_pModPython = pModPython;
|
||||
}
|
||||
PyObject* GetPyObj() { // borrows
|
||||
return m_pyObj;
|
||||
@@ -128,7 +128,7 @@ static inline CPyModule* AsPyModule(CModule* p) {
|
||||
return dynamic_cast<CPyModule*>(p);
|
||||
}
|
||||
|
||||
inline CPyModule* CreatePyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath, PyObject* pyObj, CModule* pModPython) {
|
||||
inline CPyModule* CreatePyModule(CUser* pUser, CIRCNetwork* pNetwork, const CString& sModName, const CString& sDataPath, PyObject* pyObj, CModPython* pModPython) {
|
||||
return new CPyModule(pUser, pNetwork, sModName, sDataPath, pyObj, pModPython);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user