Skip to content

Commit

Permalink
fix for proper handling of setting node's transition to None
Browse files Browse the repository at this point in the history
  • Loading branch information
maniek2332 committed Jan 25, 2020
1 parent d766f91 commit 4707f65
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 7 deletions.
1 change: 1 addition & 0 deletions kaa/kaacore/transitions.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ from .exceptions cimport raise_py_error

cdef extern from "kaacore/transitions.h" nogil:
cdef cppclass CNodeTransitionHandle "kaacore::NodeTransitionHandle":
CNodeTransitionHandle()
bool operator bool()

cdef cppclass CTransitionStateBase "kaacore::TransitionStateBase":
Expand Down
15 changes: 9 additions & 6 deletions kaa/nodes.pxi
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ from .kaacore.sprites cimport CSprite
from .kaacore.nodes cimport (
CNodeType, CNode, CNodeType, CForeignNodeWrapper
)
from .kaacore.transitions cimport CNodeTransitionHandle
from .kaacore.math cimport radians, degrees
from .kaacore.geometry cimport CAlignment

Expand Down Expand Up @@ -272,14 +273,16 @@ cdef class NodeBase:

@transition.setter
def transition(self, transition_or_list):
# TODO handle None
cdef NodeTransitionBase transition
if isinstance(transition_or_list, list):
transition = NodeTransitionsSequence(transition_or_list)
if transition_or_list is not None:
if isinstance(transition_or_list, list):
transition = NodeTransitionsSequence(transition_or_list)
else:
transition = transition_or_list
assert transition.c_handle
self._get_c_node().transition(transition.c_handle)
else:
transition = transition_or_list
assert transition.c_handle
self._get_c_node().transition(transition.c_handle)
self._get_c_node().transition(CNodeTransitionHandle())


cdef class Node(NodeBase):
Expand Down
2 changes: 1 addition & 1 deletion kaacore
Submodule kaacore updated 1 files
+7 −0 src/scenes.cpp

0 comments on commit 4707f65

Please sign in to comment.