From 11484205f5f2c30a735c13aaea44bc5a7e932fd7 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Thu, 23 Mar 2023 14:29:26 +0400 Subject: [PATCH 1/2] Use constexpr to do not generate an invalid code in templates --- apps/opencs/model/world/collection.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/opencs/model/world/collection.hpp b/apps/opencs/model/world/collection.hpp index e177291a7c..e8847253d2 100644 --- a/apps/opencs/model/world/collection.hpp +++ b/apps/opencs/model/world/collection.hpp @@ -269,11 +269,15 @@ namespace CSMWorld copy->mState = RecordBase::State_ModifiedOnly; setRecordId(destination, copy->get()); - if (type == UniversalId::Type_Reference) + if constexpr (std::is_same_v) { - CSMWorld::CellRef* ptr = (CSMWorld::CellRef*)©->mModified; - ptr->mRefNum.mIndex = 0; + if (type == UniversalId::Type_Reference) + { + CSMWorld::CellRef* ptr = (CSMWorld::CellRef*)©->mModified; + ptr->mRefNum.mIndex = 0; + } } + const int index = getAppendIndex(destination, type); insertRecord(std::move(copy), getAppendIndex(destination, type)); From 302c3315595af26c154fd16b1d85c632483df971 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Thu, 23 Mar 2023 14:31:45 +0400 Subject: [PATCH 2/2] Add field initialization --- apps/openmw_test_suite/esmloader/esmdata.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/openmw_test_suite/esmloader/esmdata.cpp b/apps/openmw_test_suite/esmloader/esmdata.cpp index ae1453c632..dba53a4a94 100644 --- a/apps/openmw_test_suite/esmloader/esmdata.cpp +++ b/apps/openmw_test_suite/esmloader/esmdata.cpp @@ -101,6 +101,7 @@ namespace ESM::GameSetting setting; setting.mId = ESM::RefId::stringRefId("setting"); setting.mValue = ESM::Variant(42); + setting.mRecordFlags = 0; settings.push_back(setting); EXPECT_EQ(EsmLoader::getGameSetting(settings, "setting"), ESM::Variant(42)); }