diff --git a/mapeditor/inspector/townbuildingswidget.cpp b/mapeditor/inspector/townbuildingswidget.cpp index 9cea3ddc6..eaa4719dd 100644 --- a/mapeditor/inspector/townbuildingswidget.cpp +++ b/mapeditor/inspector/townbuildingswidget.cpp @@ -93,9 +93,9 @@ QStandardItem * getBuildingParentFromTreeModel(const CBuilding * building, QStan return parent; } -std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState) +std::list<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState) { - std::set<QVariant> result; + std::list<QVariant> result; std::vector<QModelIndex> stack(1); while (!stack.empty()) { @@ -107,7 +107,7 @@ std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int QModelIndex index = model.index(i, modelColumn, pindex); if (auto * item = model.itemFromIndex(index)) if (item->checkState() == checkState) - result.emplace(item->data(MapEditorRoles::BuildingIDRole)); + result.push_back(item->data(MapEditorRoles::BuildingIDRole)); index = model.index(i, 0, pindex); if (model.hasChildren(index)) stack.push_back(index); diff --git a/mapeditor/inspector/townbuildingswidget.h b/mapeditor/inspector/townbuildingswidget.h index 84a3186de..5e279c4ae 100644 --- a/mapeditor/inspector/townbuildingswidget.h +++ b/mapeditor/inspector/townbuildingswidget.h @@ -21,7 +21,7 @@ std::string defaultBuildingIdConversion(BuildingID bId); QStandardItem * getBuildingParentFromTreeModel(const CBuilding * building, QStandardItemModel & model); -std::set<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState); +std::list<QVariant> getBuildingVariantsFromModel(QStandardItemModel & model, int modelColumn, Qt::CheckState checkState); class TownBuildingsWidget : public QDialog { diff --git a/mapeditor/inspector/towneventdialog.cpp b/mapeditor/inspector/towneventdialog.cpp index 6f5ecd2b1..937ffa2f6 100644 --- a/mapeditor/inspector/towneventdialog.cpp +++ b/mapeditor/inspector/towneventdialog.cpp @@ -239,7 +239,11 @@ QVariantMap TownEventDialog::resourcesToVariant() QVariantList TownEventDialog::buildingsToVariant() { auto buildings = getBuildingVariantsFromModel(buildingsModel, 1, Qt::Checked); +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) QVariantList buildingsList(buildings.begin(), buildings.end()); +#else + QVariantList buildingsList = QVariantList::fromStdList(buildings); +#endif return buildingsList; }