mirror of https://github.com/axmolengine/axmol.git
fix: release texture in RenderState (#16396)
memory leak fixed in RenderState fixes github issue #16155
This commit is contained in:
parent
d09ee83c5a
commit
016e7b0dfc
|
@ -50,6 +50,7 @@ RenderState::RenderState()
|
||||||
|
|
||||||
RenderState::~RenderState()
|
RenderState::~RenderState()
|
||||||
{
|
{
|
||||||
|
CC_SAFE_RELEASE(_texture);
|
||||||
CC_SAFE_RELEASE(_state);
|
CC_SAFE_RELEASE(_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,7 @@ Sprite3DTests::Sprite3DTests()
|
||||||
ADD_TEST_CASE(MotionStreak3DTest);
|
ADD_TEST_CASE(MotionStreak3DTest);
|
||||||
ADD_TEST_CASE(Sprite3DPropertyTest);
|
ADD_TEST_CASE(Sprite3DPropertyTest);
|
||||||
ADD_TEST_CASE(Sprite3DNormalMappingTest);
|
ADD_TEST_CASE(Sprite3DNormalMappingTest);
|
||||||
|
ADD_TEST_CASE(Issue16155Test);
|
||||||
};
|
};
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -2588,6 +2589,9 @@ std::string Sprite3DNormalMappingTest::subtitle() const
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
Sprite3DPropertyTest::Sprite3DPropertyTest()
|
Sprite3DPropertyTest::Sprite3DPropertyTest()
|
||||||
{
|
{
|
||||||
auto s = Director::getInstance()->getWinSize();
|
auto s = Director::getInstance()->getWinSize();
|
||||||
|
@ -2689,3 +2693,24 @@ void Sprite3DPropertyTest::refreshSpriteRender()
|
||||||
mesh->setTexture(cacheTex, cocos2d::NTextureData::Usage::Diffuse, false);
|
mesh->setTexture(cacheTex, cocos2d::NTextureData::Usage::Diffuse, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Issue16155Test
|
||||||
|
//
|
||||||
|
Issue16155Test::Issue16155Test()
|
||||||
|
{
|
||||||
|
auto s = Director::getInstance()->getWinSize();
|
||||||
|
|
||||||
|
auto sprite = Sprite3D::create("Sprite3DTest/orc.c3b");
|
||||||
|
addChild(sprite);
|
||||||
|
removeChild(sprite);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Issue16155Test::title() const
|
||||||
|
{
|
||||||
|
return "Issue16155 Test";
|
||||||
|
}
|
||||||
|
std::string Issue16155Test::subtitle() const
|
||||||
|
{
|
||||||
|
return "Should not leak texture";
|
||||||
|
}
|
||||||
|
|
|
@ -615,4 +615,13 @@ protected:
|
||||||
std::string _texFile;
|
std::string _texFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Issue16155Test : public Sprite3DTestDemo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CREATE_FUNC(Issue16155Test);
|
||||||
|
Issue16155Test();
|
||||||
|
virtual std::string title() const override;
|
||||||
|
virtual std::string subtitle() const override;
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue