Hi,
I was having problems with crash when touching multiple times in Cocos2d-x windows version.
I’ve found the solution to fix it!
Change:
void CCEGLView::OnPointerReleased(int id, const CCPoint& point)
{
CCTouch* pTouch = m_pTouches[id];
CCSet* pSet = m_pSets[id];
if (! pTouch || ! pSet)
return;
float x = point.x;
float y = point.y;
ConvertPointerCoords(x, y);
pTouch->SetTouchInfo(0, x, y);
m_pDelegate->touchesEnded(pSet, NULL);
pSet->removeObject(pTouch);
CC_SAFE_DELETE(m_pTouches[id]);
CC_SAFE_DELETE(m_pSets[id]);
}
to:
void CCEGLView::OnPointerReleased(int id, const CCPoint& point)
{
CCTouch* pTouch = m_pTouches[id];
CCSet* pSet = m_pSets[id];
if (! pTouch || ! pSet)
return;
float x = point.x;
float y = point.y;
ConvertPointerCoords(x, y);
pTouch->SetTouchInfo(0, x, y);
m_pDelegate->touchesEnded(pSet, NULL);
pSet->removeObject(pTouch);
CC_SAFE_RELEASE_NULL(m_pTouches[id]);
CC_SAFE_RELEASE_NULL(m_pSets[id]);
}