summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp')
-rw-r--r--src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp b/src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp
index ab7d3e45..f11893b7 100644
--- a/src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp
+++ b/src/Authoring/Qt3DStudio/Palettes/Project/ProjectFileSystemModel.cpp
@@ -50,6 +50,7 @@
#include "IDragable.h"
#include "IObjectReferenceHelper.h"
#include "IDirectoryWatchingSystem.h"
+#include "IStudioRenderer.h"
ProjectFileSystemModel::ProjectFileSystemModel(QObject *parent) : QAbstractListModel(parent)
, m_model(new QFileSystemModel(this))
@@ -207,6 +208,16 @@ void ProjectFileSystemModel::updateReferences()
std::for_each(effectTextureList.begin(), effectTextureList.end(), addReferencesPresentation);
std::for_each(renderableList.begin(), renderableList.end(), addReferencesRenderable);
+ qt3dsdm::TInstanceHandleList theEffectInstances(bridge->GetEffectList());
+
+ for (const auto instance : theEffectInstances) {
+ auto err = g_StudioApp.getRenderer().getShaderError(instance);
+ if (!err.isEmpty()) {
+ err.prepend(bridge->GetSourcePath(instance) + QStringLiteral("\n\n"));
+ g_StudioApp.showShaderCompileError(err);
+ }
+ }
+
m_references.insert(projectPath);
updateRoles({IsReferencedRole, Qt::DecorationRole});