mirror of https://github.com/axmolengine/axmol.git
Merge pull request #1196 from dumganhar/gles20
fixed #1432: MutiTouchTest crashes on IOS if putting more than 5 fingers on the screen.
This commit is contained in:
commit
b3cbb646c8
|
@ -188,7 +188,7 @@ void CCEGLViewProtocol::handleTouchesBegin(int num, int ids[], float xs[], float
|
||||||
// The touches is more than MAX_TOUCHES ?
|
// The touches is more than MAX_TOUCHES ?
|
||||||
if (nUnusedIndex == -1) {
|
if (nUnusedIndex == -1) {
|
||||||
CCLOG("The touches is more than MAX_TOUCHES, nUnusedIndex = %d", nUnusedIndex);
|
CCLOG("The touches is more than MAX_TOUCHES, nUnusedIndex = %d", nUnusedIndex);
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CCTouch* pTouch = s_pTouches[nUnusedIndex] = new CCTouch();
|
CCTouch* pTouch = s_pTouches[nUnusedIndex] = new CCTouch();
|
||||||
|
@ -235,7 +235,7 @@ void CCEGLViewProtocol::handleTouchesMove(int num, int ids[], float xs[], float
|
||||||
CCInteger* pIndex = (CCInteger*)s_TouchesIntergerDict.objectForKey(id);
|
CCInteger* pIndex = (CCInteger*)s_TouchesIntergerDict.objectForKey(id);
|
||||||
if (pIndex == NULL) {
|
if (pIndex == NULL) {
|
||||||
CCLOG("if the index doesn't exist, it is an error");
|
CCLOG("if the index doesn't exist, it is an error");
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
CCLOGINFO("Moving touches with id: %d, x=%f, y=%f", id, x, y);
|
CCLOGINFO("Moving touches with id: %d, x=%f, y=%f", id, x, y);
|
||||||
|
@ -284,7 +284,7 @@ void CCEGLViewProtocol::getSetOfTouchesEndOrCancel(CCSet& set, int num, int ids[
|
||||||
if (pIndex == NULL)
|
if (pIndex == NULL)
|
||||||
{
|
{
|
||||||
CCLOG("if the index doesn't exist, it is an error");
|
CCLOG("if the index doesn't exist, it is an error");
|
||||||
return;
|
continue;
|
||||||
}
|
}
|
||||||
/* Add to the set to send to the director */
|
/* Add to the set to send to the director */
|
||||||
CCTouch* pTouch = s_pTouches[pIndex->getValue()];
|
CCTouch* pTouch = s_pTouches[pIndex->getValue()];
|
||||||
|
|
|
@ -73,6 +73,7 @@ Copyright (C) 2008 Apple Inc. All Rights Reserved.
|
||||||
#import "CCEGLView.h"
|
#import "CCEGLView.h"
|
||||||
//CLASS IMPLEMENTATIONS:
|
//CLASS IMPLEMENTATIONS:
|
||||||
|
|
||||||
|
#define IOS_MAX_TOUCHES_COUNT 10
|
||||||
|
|
||||||
static EAGLView *view = 0;
|
static EAGLView *view = 0;
|
||||||
|
|
||||||
|
@ -393,9 +394,9 @@ static EAGLView *view = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ids[CC_MAX_TOUCHES] = {0};
|
int ids[IOS_MAX_TOUCHES_COUNT] = {0};
|
||||||
float xs[CC_MAX_TOUCHES] = {0.0f};
|
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
float ys[CC_MAX_TOUCHES] = {0.0f};
|
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (UITouch *touch in touches) {
|
for (UITouch *touch in touches) {
|
||||||
|
@ -413,9 +414,9 @@ static EAGLView *view = 0;
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int ids[CC_MAX_TOUCHES] = {0};
|
int ids[IOS_MAX_TOUCHES_COUNT] = {0};
|
||||||
float xs[CC_MAX_TOUCHES] = {0.0f};
|
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
float ys[CC_MAX_TOUCHES] = {0.0f};
|
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (UITouch *touch in touches) {
|
for (UITouch *touch in touches) {
|
||||||
|
@ -434,9 +435,9 @@ static EAGLView *view = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ids[CC_MAX_TOUCHES] = {0};
|
int ids[IOS_MAX_TOUCHES_COUNT] = {0};
|
||||||
float xs[CC_MAX_TOUCHES] = {0.0f};
|
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
float ys[CC_MAX_TOUCHES] = {0.0f};
|
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (UITouch *touch in touches) {
|
for (UITouch *touch in touches) {
|
||||||
|
@ -455,9 +456,9 @@ static EAGLView *view = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ids[CC_MAX_TOUCHES] = {0};
|
int ids[IOS_MAX_TOUCHES_COUNT] = {0};
|
||||||
float xs[CC_MAX_TOUCHES] = {0.0f};
|
float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
float ys[CC_MAX_TOUCHES] = {0.0f};
|
float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (UITouch *touch in touches) {
|
for (UITouch *touch in touches) {
|
||||||
|
|
Loading…
Reference in New Issue