MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001187VCMIGUI - Adventure Mappublic2013-01-25 07:182014-05-30 17:41
ReporterWarmonger 
Assigned ToWarmonger 
PriorityhighSeverityblockReproducibilitysometimes
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version0.91Fixed in Version0.91 
Summary0001187: Crash at new week at some maps
DescriptionGame crashes at new wek when human player should get a turn. There is some issue with drawing interface.
Steps To ReproduceIt seems to be reproductible only on certain set of maps. Use Jebus attached to 0001180 for example, just pass turns as first or second player.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0003321)
Tow (developer)
2013-01-25 08:12
edited on: 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.

(0003325)
Ivan (developer)
2013-01-25 13:24

That check should have triggered only on game start (or game loading) to remove pregame interface. Second part of check is incorrect - should be listInt.back()
(0003326)
Warmonger (administrator)
2013-01-25 14:40

Fixed in r3127.

- Issue History
Date Modified Username Field Change
2013-01-25 07:18 Warmonger New Issue
2013-01-25 08:12 Tow Note Added: 0003321
2013-01-25 08:12 Tow Note Edited: 0003321 View Revisions
2013-01-25 08:13 Tow Assigned To => Ivan
2013-01-25 08:13 Tow Status new => assigned
2013-01-25 13:24 Ivan Note Added: 0003325
2013-01-25 14:40 Warmonger Note Added: 0003326
2013-01-25 14:40 Warmonger Status assigned => resolved
2013-01-25 14:40 Warmonger Fixed in Version => 0.91
2013-01-25 14:40 Warmonger Resolution open => fixed
2013-01-25 14:40 Warmonger Assigned To Ivan => Warmonger
2014-05-30 17:41 beegee Status resolved => closed

Site | Forums | Wiki | Slack | GitHub


Copyright © 2000 - 2024 MantisBT Team
Hosting provided by DigitalOcean