Skip to content

Commit

Permalink
UPBGE: Fix "value in inputs[x].[queue/values/status]"
Browse files Browse the repository at this point in the history
EXP_ListWrapper wasn't constructed with flag FLAG_FIND_VALUE which is
allowing to do python comparaison when searching for a value in a container.

List such as queue, values and status are most of the times used this
way.
The flag is restored.

Fix issue #873.
  • Loading branch information
panzergame authored and youle31 committed May 26, 2019
1 parent b25cc76 commit 6f82696
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions source/gameengine/GameLogic/SCA_InputEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,8 @@ PyObject *SCA_InputEvent::get_status_item(unsigned int index)

PyObject *SCA_InputEvent::pyattr_get_status(EXP_PyObjectPlus *self_v, const EXP_PYATTRIBUTE_DEF *attrdef)
{
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_status_size, &SCA_InputEvent::get_status_item>(self_v))->NewProxy(true);
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_status_size, &SCA_InputEvent::get_status_item>
(self_v, EXP_BaseListWrapper::FLAG_FIND_VALUE))->NewProxy(true);
}

unsigned int SCA_InputEvent::get_queue_size()
Expand All @@ -156,7 +157,8 @@ PyObject *SCA_InputEvent::get_queue_item(unsigned int index)

PyObject *SCA_InputEvent::pyattr_get_queue(EXP_PyObjectPlus *self_v, const EXP_PYATTRIBUTE_DEF *attrdef)
{
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_queue_size, &SCA_InputEvent::get_queue_item>(self_v))->NewProxy(true);
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_queue_size, &SCA_InputEvent::get_queue_item>
(self_v, EXP_BaseListWrapper::FLAG_FIND_VALUE))->NewProxy(true);
}

unsigned int SCA_InputEvent::get_values_size()
Expand All @@ -171,7 +173,8 @@ PyObject *SCA_InputEvent::get_values_item(unsigned int index)

PyObject *SCA_InputEvent::pyattr_get_values(EXP_PyObjectPlus *self_v, const EXP_PYATTRIBUTE_DEF *attrdef)
{
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_values_size, &SCA_InputEvent::get_values_item>(self_v))->NewProxy(true);
return (new EXP_ListWrapper<SCA_InputEvent, &SCA_InputEvent::get_values_size, &SCA_InputEvent::get_values_item>
(self_v, EXP_BaseListWrapper::FLAG_FIND_VALUE))->NewProxy(true);
}

PyObject *SCA_InputEvent::pyattr_get_inactive(EXP_PyObjectPlus *self_v, const EXP_PYATTRIBUTE_DEF *attrdef)
Expand Down

0 comments on commit 6f82696

Please sign in to comment.