@@ -40,8 +40,8 @@ using namespace boost::python;
4040// ============================================================================
4141// >> GLOBAL VARIABLES
4242// ============================================================================
43- // g_mapCallbacks[<CHook *>][<HookType_t>] -> [<PyObject * >, <PyObject * >, ...]
44- std::map<CHook *, std::map<HookType_t, std::list<PyObject * > > > g_mapCallbacks;
43+ // g_mapCallbacks[<CHook *>][<HookType_t>] -> [<object >, <object >, ...]
44+ std::map<CHook *, std::map<HookType_t, std::list<object > > > g_mapCallbacks;
4545
4646
4747// ============================================================================
@@ -79,7 +79,7 @@ object GetArgument(CHook* pHook, int iIndex)
7979// ============================================================================
8080bool SP_HookHandler (HookType_t eHookType, CHook* pHook)
8181{
82- std::list<PyObject * > callbacks = g_mapCallbacks[pHook][eHookType];
82+ std::list<object > callbacks = g_mapCallbacks[pHook][eHookType];
8383
8484 // No need to do all this stuff, if there is no callback registered
8585 if (callbacks.empty ())
@@ -112,14 +112,14 @@ bool SP_HookHandler(HookType_t eHookType, CHook* pHook)
112112
113113 CStackData stackdata = CStackData (pHook);
114114 bool bOverride = false ;
115- for (std::list<PyObject * >::iterator it=callbacks.begin (); it != callbacks.end (); it++)
115+ for (std::list<object >::iterator it=callbacks.begin (); it != callbacks.end (); it++)
116116 {
117117 BEGIN_BOOST_PY ()
118118 object pyretval;
119119 if (eHookType == HOOKTYPE_PRE )
120- pyretval = CALL_PY_FUNC (*it, stackdata);
120+ pyretval = CALL_PY_FUNC (( *it). ptr () , stackdata);
121121 else
122- pyretval = CALL_PY_FUNC (*it, stackdata, retval);
122+ pyretval = CALL_PY_FUNC (( *it). ptr () , stackdata, retval);
123123
124124 if (!pyretval.is_none ())
125125 {
0 commit comments