Avoid self-assignment causing wrong drop, found by CuteAlien.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2185 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2009-02-02 10:07:41 +00:00
parent cf81e50f52
commit 87a66e3f67
1 changed files with 8 additions and 5 deletions

View File

@ -590,12 +590,15 @@ namespace scene
\param selector New triangle selector for this scene node. */
virtual void setTriangleSelector(ITriangleSelector* selector)
{
if (TriangleSelector)
TriangleSelector->drop();
if (TriangleSelector != selector)
{
if (TriangleSelector)
TriangleSelector->drop();
TriangleSelector = selector;
if (TriangleSelector)
TriangleSelector->grab();
TriangleSelector = selector;
if (TriangleSelector)
TriangleSelector->grab();
}
}