summaryrefslogtreecommitdiffstats
path: root/src/uipparser/Qt3DSUIPParserImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uipparser/Qt3DSUIPParserImpl.cpp')
-rw-r--r--src/uipparser/Qt3DSUIPParserImpl.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/uipparser/Qt3DSUIPParserImpl.cpp b/src/uipparser/Qt3DSUIPParserImpl.cpp
index 02bd3ad..4190915 100644
--- a/src/uipparser/Qt3DSUIPParserImpl.cpp
+++ b/src/uipparser/Qt3DSUIPParserImpl.cpp
@@ -842,16 +842,19 @@ void CUIPParserImpl::AddFloat4Attribute(TPropertyDescAndValueList &outDescList,
void CUIPParserImpl::AddStringAttribute(IPresentation &inPresentation,
TPropertyDescAndValueList &outDescList,
- CRegisteredString inAttStrName, const char *inValue)
+ CRegisteredString inAttStrName, const char *inValue,
+ bool addSourceAsString)
{
qt3ds::foundation::CStringHandle theString = inPresentation.GetStringTable().GetHandle(inValue);
UVariant theValue;
theValue.m_StringHandle = theString.handle();
outDescList.push_back(
eastl::make_pair(SPropertyDesc(inAttStrName, ATTRIBUTETYPE_STRING), theValue));
- if (CHash::HashAttribute(inAttStrName.c_str()) == Q3DStudio::ATTRIBUTE_SOURCEPATH && inValue
- && *inValue)
+ if ((addSourceAsString
+ || CHash::HashAttribute(inAttStrName.c_str()) == Q3DStudio::ATTRIBUTE_SOURCEPATH)
+ && inValue && *inValue) {
AddSourcePath(inValue, false);
+ }
}
void CUIPParserImpl::AddElementRefAttribute(TPropertyDescAndValueList &outDescList,
@@ -944,7 +947,10 @@ void CUIPParserImpl::GetAttributeList(IPresentation &inPresentation,
const char *theDataPtr = "";
if (!IsTrivial(inValue))
theReader.Read(theDataPtr);
- AddStringAttribute(inPresentation, outDescList, inPropNameStrs[0], theDataPtr);
+ bool addSourceAsString = inAdditionalType
+ == ERuntimeAdditionalMetaDataType::ERuntimeAdditionalMetaDataTypeTexture;
+ AddStringAttribute(inPresentation, outDescList, inPropNameStrs[0], theDataPtr,
+ addSourceAsString);
break;
}
case ERuntimeDataModelDataTypeLong4: {