FontAtlas::~FontAtlas()
{
#if CC_ENABLE_CACHE_TEXTURE_DATA
    FontFreeType* fontTTf = dynamic_cast<FontFreeType*>(_font);
    if (fontTTf)
    {
        auto eventDispatcher = Director::getInstance()->getEventDispatcher();
        if (_toForegroundListener)
        {
            eventDispatcher->removeEventListener(_toForegroundListener);
            _toForegroundListener = nullptr;
        }
        if (_toBackgroundListener)
        {
            eventDispatcher->removeEventListener(_toBackgroundListener);
            _toBackgroundListener = nullptr;
        }
    }
#endif

    _font->release();
    relaseTextures();

    delete []_currentPageData;
}
Exemple #2
0
FontAtlas::~FontAtlas()
{
#if CC_ENABLE_CACHE_TEXTURE_DATA
    if (_fontFreeType && _rendererRecreatedListener)
    {
        auto eventDispatcher = Director::getInstance()->getEventDispatcher();
        eventDispatcher->removeEventListener(_rendererRecreatedListener);
        _rendererRecreatedListener = nullptr;
    }
#endif

    _font->release();
    relaseTextures();

    delete []_currentPageData;

#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32 && CC_TARGET_PLATFORM != CC_PLATFORM_WINRT && CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID
    if (_iconv)
    {
        iconv_close(_iconv);
        _iconv = nullptr;
    }
#endif
}