diff options
Diffstat (limited to 'sigscript/SpriteWrapper.cpp')
-rw-r--r-- | sigscript/SpriteWrapper.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sigscript/SpriteWrapper.cpp b/sigscript/SpriteWrapper.cpp index 6a1c9614..7cb2074b 100644 --- a/sigscript/SpriteWrapper.cpp +++ b/sigscript/SpriteWrapper.cpp @@ -23,15 +23,17 @@ Sigscript::SpriteWrapper* Sigscript::SpriteWrapper::create(const Sigmod::Sprite* sprite, SigmodWrapper* parent) { - if (!m_instances.contains(Signature(parent, sprite->id()))) - m_instances[Signature(parent, sprite->id())] = new SpriteWrapper(sprite, parent); - return qobject_cast<SpriteWrapper*>(m_instances[Signature(parent, sprite->id())]); + Signature sig = Signature(parent, Subsignature(sprite->className(), sprite->id())); + if (!m_instances.contains(sig)) + m_instances[sig] = new SpriteWrapper(sprite, parent); + return qobject_cast<SpriteWrapper*>(m_instances[sig]); } Sigscript::SpriteWrapper::SpriteWrapper(const Sigmod::Sprite* sprite, SigmodWrapper* parent) : ObjectWrapper(sprite, parent), m_sprite(sprite) { + m_pixmap.loadFromData(m_sprite->sprite()); } QString Sigscript::SpriteWrapper::name() const @@ -41,7 +43,5 @@ QString Sigscript::SpriteWrapper::name() const QPixmap Sigscript::SpriteWrapper::sprite() const { - QPixmap pixmap; - pixmap.loadFromData(m_sprite->sprite()); - return pixmap; + return m_pixmap; } |