1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-17 01:32:21 +02:00

crash fix: dismiss hero when pick artifact

This commit is contained in:
kdmcser
2024-11-26 01:11:09 +08:00
parent a4417f3fc5
commit 993a4dc73d
3 changed files with 5 additions and 1 deletions

View File

@ -140,6 +140,8 @@ void CArtifactsOfHeroBase::gestureArtPlace(CComponentHolder & artPlace, const Po
void CArtifactsOfHeroBase::setHero(const CGHeroInstance * hero) void CArtifactsOfHeroBase::setHero(const CGHeroInstance * hero)
{ {
curHero = hero; curHero = hero;
if (!hero)
return;
for(auto slot : artWorn) for(auto slot : artWorn)
{ {

View File

@ -28,7 +28,8 @@ CArtifactsOfHeroMain::CArtifactsOfHeroMain(const Point & position)
CArtifactsOfHeroMain::~CArtifactsOfHeroMain() CArtifactsOfHeroMain::~CArtifactsOfHeroMain()
{ {
CArtifactsOfHeroBase::putBackPickedArtifact(); if(curHero)
CArtifactsOfHeroBase::putBackPickedArtifact();
} }
void CArtifactsOfHeroMain::keyPressed(EShortcut key) void CArtifactsOfHeroMain::keyPressed(EShortcut key)

View File

@ -312,6 +312,7 @@ void CHeroWindow::dismissCurrent()
arts->putBackPickedArtifact(); arts->putBackPickedArtifact();
close(); close();
LOCPLINT->cb->dismissHero(curHero); LOCPLINT->cb->dismissHero(curHero);
arts->setHero(nullptr);
}, nullptr); }, nullptr);
} }