From 604868348a2fe42d7fcd45c4be40d07822f73d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kaj=20Gr=C3=B6nholm?= Date: Mon, 18 Mar 2019 20:08:03 +0200 Subject: Handle empty vector type action values With all-zero vector values (0,0,0) Studio doesn't currently store "value" parameter at all into uip. So empty vector type values are handled as "0 0 0". Task-number: QT3DS-3143 Change-Id: Iebb7c3f50296ef54da346e48601e14fe6d74892e Reviewed-by: Laszlo Agocs --- src/runtime/q3dsuipparser.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/runtime/q3dsuipparser.cpp b/src/runtime/q3dsuipparser.cpp index 3130aee..ecb79f9 100644 --- a/src/runtime/q3dsuipparser.cpp +++ b/src/runtime/q3dsuipparser.cpp @@ -648,6 +648,12 @@ void Q3DSUipParser::parseAddSet(Q3DSSlide *slide, bool isSet, bool isMaster) ha.value = attr.value().trimmed().toString(); } } + if (ha.value.isEmpty() && ha.type == Q3DS::Vector) { + // With all-zero vector values (0,0,0) Studio doesn't currently + // store "value" parameter at all into uip. So empty vector + // type values are handled as "0 0 0", see QT3DS-3143. + ha.value = QStringLiteral("0 0 0"); + } action.handlerArgs.append(ha); } r->skipCurrentElement(); -- cgit v1.2.3