aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-11-16 18:41:52 +0000
committersaturneric <[email protected]>2024-11-16 18:41:52 +0000
commite694c002dcc593fe2efaa214d51c666e6ee777b2 (patch)
tree02ffecf850de1694dc0c53ca2d462a206980e54c /include
parentfeat: paper key use module log system (diff)
downloadModules-e694c002dcc593fe2efaa214d51c666e6ee777b2.tar.gz
Modules-e694c002dcc593fe2efaa214d51c666e6ee777b2.zip
fix: solve build problem for qt under 6.4.0
Diffstat (limited to 'include')
-rw-r--r--include/GFModuleCommonUtils.hpp20
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;
}