On Thu, Mar 18, 2010 at 8:53 PM, Kai Sterker <kai.ster...@gmail.com> wrote: > Seen this a few times, but didn't really look into it: > > Fatal Python error: PyThreadState_Get: no current thread [...] > Mapview is the culprit! Will take a look at that eventually, unless > somebody else is faster ...
Just looked into this. The actual issue is world::area_manager, which is a static class which happens to have the mapview instance as a member. Obviously, static classes are destroyed last, so by that time, we've already shut down Python in main::adonthell::cleanup(). Not quite sure what the best solution is. Never shutting down Python ourselves might be one way. Manually cleaning up the mapview before shutting down Python another. I fear that in the first case, we're still at the mercy of the C++ runtime, as that might destroy the two in any order. So the second alternative sounds like it would be the safer route. There's alread a world::cleanup() function that gets called in main::adonthell::cleanup(). We'd only have to propagate that call to a mapview::cleanup() that would at least destruct all the Python stuff the mapview contains. Kai _______________________________________________ Adonthell-devel mailing list Adonthell-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/adonthell-devel