From d7dae219b1fe0f0e7d81e8837465eaae2f1cdb7b Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 20 Jun 2019 17:08:28 -0400 Subject: [PATCH] fix saving for multi encounter group maps --- src/editor.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/editor.cpp b/src/editor.cpp index e6c94a72..b061310a 100644 --- a/src/editor.cpp +++ b/src/editor.cpp @@ -303,6 +303,10 @@ void Editor::saveEncounterTabData() { //} int fieldIndex = 0; for (QPair> monField : project->wildMonFields) { + QString fieldName = monField.first; + if (!encounterHeader.wildMons.contains(fieldName) + || encounterHeader.wildMons[fieldName].wildPokemon.empty() + || !encounterHeader.wildMons[fieldName].active) continue; // project->wildMonData //qDebug() << monField.first << "mons"; QTableWidget *monTable = static_cast(tabWidget->widget(fieldIndex++)); @@ -318,8 +322,9 @@ void Editor::saveEncounterTabData() { newWildMon.maxLevel = monTable->cellWidget(row, 3)->findChild()->value();//static_cast(monTable->cellWidget(row, 3))->value(); newWildMons.append(newWildMon);//(speciesCombo->currentText()); } - encounterHeader.wildMons[monField.first].wildPokemon = newWildMons; - encounterHeader.wildMons[monField.first].encounterRate = monTable->findChild()->value(); + // Brackets because need a reference to this object. A safety check is done at the top. + encounterHeader.wildMons[fieldName].wildPokemon = newWildMons; + encounterHeader.wildMons[fieldName].encounterRate = monTable->findChild()->value(); //fieldIndex++; } }