Revision: 16491 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16491 Author: ton Date: 2008-09-12 17:26:00 +0200 (Fri, 12 Sep 2008)
Log Message: ----------- Bugfixes in SDL joystick, apparently it gives NULLs in OSX. Modified Paths: -------------- trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp Modified: trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp =================================================================== --- trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp 2008-09-12 14:09:44 UTC (rev 16490) +++ trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp 2008-09-12 15:26:00 UTC (rev 16491) @@ -108,6 +108,9 @@ bool result = false; bool reset = m_reset && m_level; + if(js==NULL) + return false; + m_reset = false; switch(m_joymode) { @@ -397,7 +400,9 @@ "\tReturns a list of the values for each axis .\n"; PyObject* SCA_JoystickSensor::PyGetRealAxis( PyObject* self) { SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex); - return Py_BuildValue("[iiii]", joy->GetAxis10(), joy->GetAxis11(), joy->GetAxis20(), joy->GetAxis21()); + if(joy) + return Py_BuildValue("[iiii]", joy->GetAxis10(), joy->GetAxis11(), joy->GetAxis20(), joy->GetAxis21()); + return NULL; } @@ -478,7 +483,9 @@ "\tReturns the number of axes .\n"; PyObject* SCA_JoystickSensor::PyNumberOfAxes( PyObject* self ) { SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex); - return PyInt_FromLong( joy->GetNumberOfAxes() ); + if(joy) + return PyInt_FromLong( joy->GetNumberOfAxes() ); + return false; } @@ -487,7 +494,9 @@ "\tReturns the number of buttons .\n"; PyObject* SCA_JoystickSensor::PyNumberOfButtons( PyObject* self ) { SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex); - return PyInt_FromLong( joy->GetNumberOfButtons() ); + if(joy) + return PyInt_FromLong( joy->GetNumberOfButtons() ); + return false; } @@ -496,7 +505,9 @@ "\tReturns the number of hats .\n"; PyObject* SCA_JoystickSensor::PyNumberOfHats( PyObject* self ) { SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex); - return PyInt_FromLong( joy->GetNumberOfHats() ); + if(joy) + return PyInt_FromLong( joy->GetNumberOfHats() ); + return false; } char SCA_JoystickSensor::Connected_doc[] = @@ -504,5 +515,7 @@ "\tReturns True if a joystick is connected at this joysticks index.\n"; PyObject* SCA_JoystickSensor::PyConnected( PyObject* self ) { SCA_Joystick *joy = m_pJoystickMgr->GetJoystickDevice(m_joyindex); - return PyBool_FromLong( joy->Connected() ); + if(joy) + return PyBool_FromLong( joy->Connected() ); + return false; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs