Exactly! In sugargame/canvas.py there are an assert that explain that common "problem": # Preinitialize Pygame with the X window ID.assert pygame.display.get_init() == False, "Pygame must not be initialized before calling PygameCanvas.run_pygame." Date: Fri, 27 Sep 2013 09:52:29 +0200 Subject: Re: [Sugar-devel] PyGame can be run only once assertion error From: laurent.bern...@gmail.com To: alan...@hotmail.com CC: sugar-devel@lists.sugarlabs.org
Ok. I've understood. I must call pygames related functions inside show_menu as it is the method declared to be run by SugarGames wrapper. Thanks. 2013/9/27 Alan Jhonn Aguiar Schwyn <alan...@hotmail.com> There are not problem with call "pygame.init" all times that you want (see the documentation).The problem is call outside of self._pygamecanvas.run_pygame function.It's one thing of SugarGames. Date: Fri, 27 Sep 2013 09:03:25 +0200 Subject: Re: [Sugar-devel] PyGame can be run only once assertion error From: laurent.bern...@gmail.com To: alan...@hotmail.com CC: sugar-devel@lists.sugarlabs.org Thank you very much. In fact I had already solved the problem and commited when I read your message : my idea was the same than yours, but I've done it with a "lazy initialisation", thanks to a flag self._initialized (boolean). Thanks :) 2013/9/26 Alan Jhonn Aguiar Schwyn <alan...@hotmail.com> A patch worth more than 1000 words.. In the patch I show "the idea" behind the problem. You can move all codethat not needs pygame to the __init__ of the Game class. From: alan...@hotmail.com To: laurent.bern...@gmail.com; sugar-devel@lists.sugarlabs.org Date: Thu, 26 Sep 2013 15:01:13 -0300 Subject: Re: [Sugar-devel] PyGame can be run only once assertion error You can't call pygame.init in the game creation,not worry if you put all code on self._act.show_menu Date: Thu, 26 Sep 2013 17:01:04 +0000 From: laurent.bern...@gmail.com To: sugar-devel@lists.sugarlabs.org Subject: [Sugar-devel] PyGame can be run only once assertion error Hello, everyone, In my project HitTheBalls, which I've just commited the last modifications, I have a bug I that I don't manage to solve. If I launch the game without sugar, however, it runs fine.Also I modified the activity.py in order to fit my main_game module modifications. Maybe that the reason why I have this behaviour (the activity log is not very verbose in my case). So how can I solve the problem ? This is the activity log : ________________________________________________________ 1380214070.631923 WARNING root: No Gtk.AccelGroup in the top level window.Traceback (most recent call last): File "/home/broot/sugar-build/activities/HitTheBalls.activity/sugargame/canvas.py", line 40, in _run_pygame_cb assert pygame.display.get_surface() is None, "PygameCanvas.run_pygame can only be called once."AssertionError: PygameCanvas.run_pygame can only be called once.1380214073.021442 WARNING root: No Gtk.AccelGroup in the top level window. Exited with status 0, pid 9045 data (None, <open file '<fdopen>', mode 'w' at 0x1a299c0>, dbus.ByteArray('e2c07f313236150806506c5508b5a987bf6d2b4d', variant_level=1))_________________________________________________________________ Regards _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
_______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel