mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Fix crash on h3c->vcmp conversion via editor
This commit is contained in:
@@ -85,7 +85,9 @@ void Helper::saveCampaign(std::shared_ptr<CampaignState> campaignState, const QS
|
|||||||
auto saver = std::make_shared<CZipSaver>(io, filename.toStdString());
|
auto saver = std::make_shared<CZipSaver>(io, filename.toStdString());
|
||||||
for(auto & scenario : campaignState->allScenarios())
|
for(auto & scenario : campaignState->allScenarios())
|
||||||
{
|
{
|
||||||
auto map = campaignState->getMap(scenario, nullptr);
|
EditorCallback cb(nullptr);
|
||||||
|
auto map = campaignState->getMap(scenario, &cb);
|
||||||
|
cb.setMap(map.get());
|
||||||
MapController::repairMap(map.get());
|
MapController::repairMap(map.get());
|
||||||
CMemoryBuffer serializeBuffer;
|
CMemoryBuffer serializeBuffer;
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -139,6 +139,9 @@ void MapController::repairMap(CMap * map)
|
|||||||
|
|
||||||
for(auto obj : allImpactedObjects)
|
for(auto obj : allImpactedObjects)
|
||||||
{
|
{
|
||||||
|
if(obj == nullptr)
|
||||||
|
continue;
|
||||||
|
|
||||||
//fix flags
|
//fix flags
|
||||||
if(obj->asOwnable() != nullptr && obj->getOwner() == PlayerColor::UNFLAGGABLE)
|
if(obj->asOwnable() != nullptr && obj->getOwner() == PlayerColor::UNFLAGGABLE)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user