From f2fa12b7d61cbe3e8d0a5372478172545856dfd4 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 7 Feb 2012 12:40:53 +1000 Subject: [PATCH] Fix symbol clash SpriteImage and ImageParticle are now in the same library, need different internal class names. Change-Id: Ic32fafb729818a6114fe454e7288fbf00fd6a1e7 Reviewed-by: Martin Jones --- src/quick/items/qquickspriteimage.cpp | 27 +++++++++++++-------------- src/quick/items/qquickspriteimage_p.h | 4 ++-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/quick/items/qquickspriteimage.cpp b/src/quick/items/qquickspriteimage.cpp index 59f3a67..755c41d 100644 --- a/src/quick/items/qquickspriteimage.cpp +++ b/src/quick/items/qquickspriteimage.cpp @@ -89,16 +89,16 @@ static const char fragmentShaderCode[] = " gl_FragColor = mix(texture2D(texture, fTexS.xy), texture2D(texture, fTexS.zw), progress) * qt_Opacity;\n" "}\n"; -class QQuickSpriteMaterial : public QSGMaterial +class QQuickSpriteImageMaterial : public QSGMaterial { public: - QQuickSpriteMaterial(); - virtual ~QQuickSpriteMaterial(); + QQuickSpriteImageMaterial(); + ~QQuickSpriteImageMaterial(); virtual QSGMaterialType *type() const { static QSGMaterialType type; return &type; } virtual QSGMaterialShader *createShader() const; virtual int compare(const QSGMaterial *other) const { - return this - static_cast(other); + return this - static_cast(other); } QSGTexture *texture; @@ -114,7 +114,7 @@ public: float elementHeight; }; -QQuickSpriteMaterial::QQuickSpriteMaterial() +QQuickSpriteImageMaterial::QQuickSpriteImageMaterial() : animT(0.0f) , animX1(0.0f) , animY1(0.0f) @@ -128,15 +128,15 @@ QQuickSpriteMaterial::QQuickSpriteMaterial() setFlag(Blending, true); } -QQuickSpriteMaterial::~QQuickSpriteMaterial() +QQuickSpriteImageMaterial::~QQuickSpriteImageMaterial() { delete texture; } -class SpriteMaterialData : public QSGMaterialShader +class SpriteImageMaterialData : public QSGMaterialShader { public: - SpriteMaterialData(const char * /* vertexFile */ = 0, const char * /* fragmentFile */ = 0) + SpriteImageMaterialData(const char * /* vertexFile */ = 0, const char * /* fragmentFile */ = 0) { } @@ -150,7 +150,7 @@ public: virtual void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *) { - QQuickSpriteMaterial *m = static_cast(newEffect); + QQuickSpriteImageMaterial *m = static_cast(newEffect); m->texture->bind(); program()->setUniformValue(m_opacity_id, state.opacity()); @@ -190,11 +190,11 @@ public: static float chunkOfBytes[1024]; }; -float SpriteMaterialData::chunkOfBytes[1024]; +float SpriteImageMaterialData::chunkOfBytes[1024]; -QSGMaterialShader *QQuickSpriteMaterial::createShader() const +QSGMaterialShader *QQuickSpriteImageMaterial::createShader() const { - return new SpriteMaterialData; + return new SpriteImageMaterialData; } struct SpriteVertex { @@ -328,7 +328,7 @@ QSGGeometryNode* QQuickSpriteImage::buildNode() return 0; } - m_material = new QQuickSpriteMaterial(); + m_material = new QQuickSpriteImageMaterial(); QImage image = m_spriteEngine->assembledImage(); if (image.isNull()) @@ -394,7 +394,6 @@ QSGNode *QQuickSpriteImage::updatePaintNode(QSGNode *, UpdatePaintNodeData *) { if (m_pleaseReset) { delete m_node; - delete m_material; m_node = 0; m_material = 0; diff --git a/src/quick/items/qquickspriteimage_p.h b/src/quick/items/qquickspriteimage_p.h index 092df3f..8017263 100644 --- a/src/quick/items/qquickspriteimage_p.h +++ b/src/quick/items/qquickspriteimage_p.h @@ -53,7 +53,7 @@ class QSGContext; class QQuickSprite; class QQuickSpriteEngine; class QSGGeometryNode; -class QQuickSpriteMaterial; +class QQuickSpriteImageMaterial; class Q_AUTOTEST_EXPORT QQuickSpriteImage : public QQuickItem { Q_OBJECT @@ -127,7 +127,7 @@ private: void prepareNextFrame(); QSGGeometryNode* buildNode(); QSGGeometryNode *m_node; - QQuickSpriteMaterial *m_material; + QQuickSpriteImageMaterial *m_material; QList m_sprites; QQuickSpriteEngine* m_spriteEngine; QTime m_timestamp; -- 2.7.4