Page MenuHomePhabricator

Life tutorial C# cannot be paused / resumed
Closed, InvalidPublic


D6649 fixed the C# life tutorial so it can be run, but it shows a number of issues, including inability to pause / resume the game.

If you include eo output in the logs (export EINA_LOG_LEVELS=eo:5), you can observe that upon first pressing space the board update timer is destroyed as expected, but then it gets re-created and re-destroyed ad infinitum.

DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001eb7e3 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001eafe1 - Ecore.Event.Message.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ebbe4 - Ecore.Event.Message.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ebfe5 - Ecore.Event.Message.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001ebbe4 - Ecore.Event.Message.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001ebfe5 - Ecore.Event.Message.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ec3e6 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001ec3e6 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ec7e7 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001ec7e7 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ecbe8 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2166 _efl_object_destructor() 0x4000001ecbe8 - Efl.Loop_Timer.
DBG<2707>:eo lib/eo/eo_base_class.c:2151 _efl_object_constructor() 0x4000001ecfe9 - Efl.Loop_Timer.

This does not happen in the C variant of this tutorial, so I think this is an issue with the C# bindings.

segfaultxavi triaged this task as Normal priority.
felipealmeida added a subscriber: lauromoura.

Could you check my branch devs/lauromoura/fix-csharp-life on the examples repo?

AFAIR I had fixed it but forgot to submit due to that mono 4 bug.

I included your fix (passing win to the constructor of the timer object) to my diff already :)

segfaultxavi closed this task as Invalid.Jul 23 2018, 7:22 AM

Aaaaaaaaand you are right @lauromoura, I did not port your fix correctly.
I will update my diff and close this ticket as invalid.

bu5hm4n moved this task from Backlog to Done on the efl: language bindings board.Dec 18 2018, 4:29 AM