Py_XDECREF( pModule );
	void canceled( cUOSocket *socket )	{		if( !cancelfunc.isNull() && !cancelfunc.isEmpty() && cancelfunc.contains( "." ) )		{			// Find the last dot			INT32 position = cancelfunc.findRev( "." );			QString sModule = cancelfunc.left( position );			QString sFunction = cancelfunc.right( cancelfunc.length() - (position+1) );			PyObject *pModule = PyImport_ImportModule( const_cast< char* >( sModule.latin1() ) );			if( pModule )			{				PyObject *pFunc = PyObject_GetAttrString( pModule, const_cast< char* >( sFunction.latin1() ) );				if( pFunc && PyCallable_Check( pFunc ) )				{					// Create our Argument list					PyObject *args = PyTuple_New( 1 );					PyTuple_SetItem( args, 0, PyGetCharObject( socket->player() ) );					PyEval_CallObject( pFunc, args );					if( PyErr_Occurred() )						PyErr_Print();				}			}		}		Py_DECREF( args );	}