Skip to content
Permalink
Browse files

Fix client crash on deletion of an object the clients localplayer is …

…attached to
  • Loading branch information
sapier sapier
sapier authored and sapier committed Jul 6, 2014
1 parent b459f53 commit 2e19af99199a12bfabb751ed3c2a96bf8e3ab815
Showing with 8 additions and 1 deletion.
  1. +8 −1 src/content_cao.cpp
@@ -736,7 +736,8 @@ ClientActiveObject* GenericCAO::getParent()

void GenericCAO::removeFromScene(bool permanent)
{
if((m_env != 0) && (permanent)) // Should be true when removing the object permanently and false when refreshing (eg: updating visuals)
// Should be true when removing the object permanently and false when refreshing (eg: updating visuals)
if((m_env != NULL) && (permanent))
{
for(std::vector<u16>::iterator ci = m_children.begin();
ci != m_children.end(); ci++)
@@ -747,6 +748,12 @@ void GenericCAO::removeFromScene(bool permanent)
}

m_env->m_attachements[getId()] = 0;

LocalPlayer* player = m_env->getLocalPlayer();
if (this == player->parent) {
player->parent = NULL;
player->isAttached = false;
}
}

if(m_meshnode)

0 comments on commit 2e19af9

Please sign in to comment.
You can’t perform that action at this time.