summaryrefslogtreecommitdiffstats
path: root/src/Runtime/Source/uipparser
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/Source/uipparser')
-rw-r--r--src/Runtime/Source/uipparser/Qt3DSUIPParser.h2
-rw-r--r--src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp5
-rw-r--r--src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h6
3 files changed, 12 insertions, 1 deletions
diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParser.h b/src/Runtime/Source/uipparser/Qt3DSUIPParser.h
index 857d403c..c3b4611b 100644
--- a/src/Runtime/Source/uipparser/Qt3DSUIPParser.h
+++ b/src/Runtime/Source/uipparser/Qt3DSUIPParser.h
@@ -143,6 +143,8 @@ public: // Parse UIP file
// mesh files (and possibly font files).
virtual NVConstDataRef<eastl::string> GetSourcePaths() const = 0;
+ virtual QVector<QString> GetSlideSourcePaths() const = 0;
+
// Creation function
static IUIPParser &Create(const QString &inFileName, IRuntimeMetaData &inMetaData,
qt3ds::render::IInputStreamFactory &inStreamFactory,
diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp
index 746d5e58..2ddffe3f 100644
--- a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp
+++ b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.cpp
@@ -2089,8 +2089,11 @@ BOOL CUIPParserImpl::LoadSlideElementAttrs(IPresentation &inPresentation, bool,
++theRef;
bool isSet = AreEqual(inReader.GetNarrowElementName(), "Set");
const char8_t *sourcepath;
- if (inReader.UnregisteredAtt("sourcepath", sourcepath))
+ if (inReader.UnregisteredAtt("sourcepath", sourcepath)) {
AddSourcePath(sourcepath);
+ theBuilder.AddSourcePath(sourcepath);
+ m_slideSourcePaths.push_back(QString::fromLatin1(sourcepath));
+ }
// We don't force set attributes when a given component has a set command within one of its
// child states. This happens in the case of actions (but nothing else).
diff --git a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h
index 9d96b681..fd921161 100644
--- a/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h
+++ b/src/Runtime/Source/uipparser/Qt3DSUIPParserImpl.h
@@ -429,6 +429,8 @@ protected:
TStringSet m_SourcePathSet;
TStringVector m_SourcePathList;
+ QVector<QString> m_slideSourcePaths;
+
struct SElementRefCache
{
SElementData *m_Element;
@@ -534,6 +536,10 @@ public: // Parse UIP file
{
return NVConstDataRef<eastl::string>(m_SourcePathList.data(), m_SourcePathList.size());
}
+ QVector<QString> GetSlideSourcePaths() const override
+ {
+ return m_slideSourcePaths;
+ }
protected: // Operation
BOOL LoadProjectSettings(IPresentation &inPresentation, qt3dsdm::IDOMReader &inReader);