mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Crash fixed, but bug still present
This commit is contained in:
parent
a6c8dcbc36
commit
7086fdc730
@ -295,7 +295,7 @@ void CArtPlace::select ()
|
||||
}
|
||||
|
||||
/**
|
||||
* Deselects the artifact slot. FIXME: Not used. Maybe it should?
|
||||
* Deselects the artifact slot.
|
||||
*/
|
||||
void CArtPlace::deselect ()
|
||||
{
|
||||
@ -303,7 +303,12 @@ void CArtPlace::deselect ()
|
||||
if(ourArt && ourArt->canBeDisassembled()) //combined art returned to its slot -> restore locks
|
||||
{
|
||||
for(int i = 0; i < GameConstants::BACKPACK_START; i++)
|
||||
ourOwner->getArtPlace(i)->pickSlot(false);
|
||||
{
|
||||
auto place = ourOwner->getArtPlace(i);
|
||||
|
||||
if(nullptr != place)
|
||||
place->pickSlot(false);
|
||||
}
|
||||
}
|
||||
|
||||
CCS->curh->dragAndDropCursor(nullptr);
|
||||
@ -647,13 +652,13 @@ CArtifactsOfHero::CArtifactsOfHero(const Point& position, bool createCommonPart
|
||||
|
||||
std::vector<Point> slotPos =
|
||||
{
|
||||
Point(509,30), Point(567,240), Point(509,80),
|
||||
Point(383,68), Point(564,183), Point(509,130),
|
||||
Point(431,68), Point(610,183), Point(515,295),
|
||||
Point(383,143), Point(399,194), Point(415,245),
|
||||
Point(431,296), Point(564,30), Point(610,30),
|
||||
Point(610,76), Point(610,122), Point(610,310),
|
||||
Point(381,296)
|
||||
Point(509,30), Point(567,240), Point(509,80), //0-2
|
||||
Point(383,68), Point(564,183), Point(509,130), //3-5
|
||||
Point(431,68), Point(610,183), Point(515,295), //6-8
|
||||
Point(383,143), Point(399,194), Point(415,245), //9-11
|
||||
Point(431,296), Point(564,30), Point(610,30), //12-14
|
||||
Point(610,76), Point(610,122), Point(610,310), //15-17
|
||||
Point(381,296) //18
|
||||
};
|
||||
|
||||
// Create slots for worn artifacts.
|
||||
@ -836,6 +841,12 @@ CArtPlace * CArtifactsOfHero::getArtPlace(int slot)
|
||||
{
|
||||
if(slot < GameConstants::BACKPACK_START)
|
||||
{
|
||||
if(slot >= artWorn.size() || slot < 0)
|
||||
{
|
||||
logGlobal->errorStream() << "CArtifactsOfHero::getArtPlace: invalid slot " << slot << "; maximum is " << artWorn.size()-1;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return artWorn[slot];
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user