(0003321)
|
Tow
|
2013-01-25 08:12
|
|
Seems to be broken by r3052. http://sourceforge.net/apps/trac/vcmi/changeset/3052#file1 [^]
CPlayerInterace.cpp, lines 2428+:
void CPlayerInterface::playerStartsTurn(ui8 player)
{
EVENT_HANDLER_CALLED_BY_CLIENT;
if (GH.listInt.empty() || GH.listInt.front() != adventureInt)
{
GH.popInts(GH.listInt.size());
GH.pushInt(adventureInt);
}
//...
Original code was: if there is no interface, push adventure map.
Now it is: remove and delete all interfaces and put adventure map. When there is a new week dialog, it is destroyed, then underlying adventure map is destroyed, then it is pushed back (but it's already a dangling pointer).
Why do we want remove interfaces at the start of the new turn at all? This will affect new turn dialogs.
|
|