diff options
Diffstat (limited to 'sigscript/MapTrainerWrapper.cpp')
-rw-r--r-- | sigscript/MapTrainerWrapper.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sigscript/MapTrainerWrapper.cpp b/sigscript/MapTrainerWrapper.cpp index 39ce9a46..b7df74f2 100644 --- a/sigscript/MapTrainerWrapper.cpp +++ b/sigscript/MapTrainerWrapper.cpp @@ -25,9 +25,10 @@ Sigscript::MapTrainerWrapper* Sigscript::MapTrainerWrapper::create(const Sigmod::MapTrainer* trainer, MapWrapper* parent) { - if (!m_instances.contains(Signature(parent, trainer->id()))) - m_instances[Signature(parent, trainer->id())] = new MapTrainerWrapper(trainer, parent); - return qobject_cast<MapTrainerWrapper*>(m_instances[Signature(parent, trainer->id())]); + Signature sig = Signature(parent, Subsignature(trainer->className(), trainer->id())); + if (!m_instances.contains(sig)) + m_instances[sig] = new MapTrainerWrapper(trainer, parent); + return qobject_cast<MapTrainerWrapper*>(m_instances[sig]); } Sigscript::MapTrainerWrapper::MapTrainerWrapper(const Sigmod::MapTrainer* trainer, MapWrapper* parent) : |