← Back to team overview

widelands-dev team mailing list archive

Re: [Merge] lp:~widelands-dev/widelands/new-shipping into lp:widelands


Next one please check: https://www.magentacloud.de/share/tu4ayusx.k ShioCrash2.wgf

Crashes here:
Assertion failed: (old_index < nr_dests), function reorder_destinations, 
file ../src/logic/map_objects/tribes/ship.cc, line 902.

With a Debugger I found... 

Via the ReplayWriter game.cleanup_for_load(); is called
This in turn calls
void MapObject::remove(EditorGameBase& egbase) 
void PortDock::cleanup(EditorGameBase& egbase) // why doing such a fuzz for a cleanup?
void Ship::pop_destination(Game& game, PortDock& pd) 
void Ship::reorder_destinations(Game& game)

I assume there is some issue with the == Operator from OPtr<PortDock> optr(pair.first);

if (old_destinations[old_index].first == optr) {
	break; // does not happen

This code does not really seem robust, but I still must find out what this OPtr thing is.

Maybe when loading Objects ar kind of cloned by the loading so the code fails?

Your team Widelands Developers is subscribed to branch lp:~widelands-dev/widelands/new-shipping.