summaryrefslogtreecommitdiffstats
path: root/src/render/jobs/loadtexturedatajob.cpp
diff options
context:
space:
mode:
authorRobert Brock <robert.brock@kdab.com>2016-04-05 16:09:57 +0100
committerRobert Brock <robert.brock@kdab.com>2016-04-19 10:17:48 +0000
commit5d059e75f96a7661b936ed036c44dfa5ee18a108 (patch)
tree66f09ce7a2d345a6d911c3be01478ae3b288ba13 /src/render/jobs/loadtexturedatajob.cpp
parentd5b665cb40c25ff8ddb5ad7ebe74e04dd91c045b (diff)
Changes to handle ScenePropertyChange
TextureImage loading job now notifies frontend Change-Id: I6d725e4343c4f36a918c4deb38e6c832970fa5e8 Task-number: QTBUG-51453 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/jobs/loadtexturedatajob.cpp')
-rw-r--r--src/render/jobs/loadtexturedatajob.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/render/jobs/loadtexturedatajob.cpp b/src/render/jobs/loadtexturedatajob.cpp
index 698167d13..fb9c466cf 100644
--- a/src/render/jobs/loadtexturedatajob.cpp
+++ b/src/render/jobs/loadtexturedatajob.cpp
@@ -41,6 +41,7 @@
#include <Qt3DRender/private/nodemanagers_p.h>
#include <Qt3DRender/private/managers_p.h>
#include <Qt3DRender/private/texturedatamanager_p.h>
+#include <Qt3DRender/private/qtextureimage_p.h>
#include <Qt3DRender/qtexturedata.h>
#include <QThread>
#include <Qt3DRender/private/job_common_p.h>
@@ -60,7 +61,8 @@ LoadTextureDataJob::~LoadTextureDataJob()
{
}
-static QPair<HTextureData, QTexImageData *> textureDataFromGenerator(TextureDataManager *textureDataManager, QTextureImageDataGeneratorPtr generator)
+static QPair<HTextureData, QTexImageData *> textureDataFromGenerator(TextureDataManager *textureDataManager,
+ QTextureImageDataGeneratorPtr generator)
{
HTextureData textureDataHandle;
QTexImageData *data = Q_NULLPTR;
@@ -128,6 +130,11 @@ void LoadTextureDataJob::run()
QPair<HTextureData, QTexImageData *> handleData = textureDataFromGenerator(textureDataManager, generator);
+ // If using QTextureImage, notify the frontend of the change in status
+ const QImageTextureDataFunctor *imageGenerator = functor_cast<QImageTextureDataFunctor>(generator.data());
+ if (imageGenerator)
+ texImg->setStatus(imageGenerator->status());
+
HTextureData textureDataHandle = handleData.first;
QTexImageData *data = handleData.second;