void TXshLevelHandle::setLevel(TXshLevel *level) { if (m_level == level) return; TXshLevel *oldLevel = m_level; m_level = level; if (level) level->addRef(); bool levelExists = oldLevel ? oldLevel->getRefCount() > 1 : false; if (oldLevel) oldLevel->release(); emit xshLevelSwitched(levelExists ? oldLevel : 0); }