diff options
author | saturneric <[email protected]> | 2024-11-16 18:41:52 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-11-16 18:41:52 +0000 |
commit | e694c002dcc593fe2efaa214d51c666e6ee777b2 (patch) | |
tree | 02ffecf850de1694dc0c53ca2d462a206980e54c | |
parent | feat: paper key use module log system (diff) | |
download | Modules-e694c002dcc593fe2efaa214d51c666e6ee777b2.tar.gz Modules-e694c002dcc593fe2efaa214d51c666e6ee777b2.zip |
fix: solve build problem for qt under 6.4.0
-rw-r--r-- | include/GFModuleCommonUtils.hpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/GFModuleCommonUtils.hpp b/include/GFModuleCommonUtils.hpp index af2ba4d..1d23d2d 100644 --- a/include/GFModuleCommonUtils.hpp +++ b/include/GFModuleCommonUtils.hpp @@ -216,7 +216,7 @@ inline auto ConvertMapToParams(const QMap<QString, QString>& param_map) -> GFModuleEventParam* { GFModuleEventParam* head = nullptr; GFModuleEventParam* prev = nullptr; - +#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0) for (const auto& [key, value] : param_map.asKeyValueRange()) { auto* param = static_cast<GFModuleEventParam*>( GFAllocateMemory(sizeof(GFModuleEventParam))); @@ -232,6 +232,24 @@ inline auto ConvertMapToParams(const QMap<QString, QString>& param_map) } prev = param; } +#else + for (auto it = param_map.keyValueBegin(); it != param_map.keyValueEnd(); + ++it) { + auto* param = static_cast<GFModuleEventParam*>( + GFAllocateMemory(sizeof(GFModuleEventParam))); + + param->name = DUP(it->first.toUtf8()); + param->value = DUP(it->second.toUtf8()); + param->next = nullptr; + + if (prev == nullptr) { + head = param; + } else { + prev->next = param; + } + prev = param; + } +#endif return head; } |