Godot version
v.4.5.3
godot-cpp version
1
System information
windows11
Issue description
偶遇闪退问题,不确定是什么原因导致的。情况大致如下:在安卓端,运行1分钟,会突然闪退,如果只连接不用手指操作那就不会闪退。
日志.txt
这个是捕获的日志
远程控制.zip
这个是不包含addon的项目源代码。
这个是ai的分析结果:
崩溃原因确认:不是发送频率的问题(日志显示实际频率只有~14Hz)。
真正原因是 cowdata.h 数组越界:
1 FATAL: Index p_index = 0 is out of bounds (size() = 0)
Native 层的触摸指针列表为空时,send_touch_event(TOUCH_EVENT_MOVE) 仍被调用,导致访问空数组的第0个元素而崩溃。
修复方案:
- 新增 _touch_is_down 状态追踪
- TOUCH_EVENT_MOVE 只在手指确实按下时才发送
- TOUCH_EVENT_UP 发送后立即将状态置为 false
Godot version
v.4.5.3
godot-cpp version
1
System information
windows11
Issue description
偶遇闪退问题,不确定是什么原因导致的。情况大致如下:在安卓端,运行1分钟,会突然闪退,如果只连接不用手指操作那就不会闪退。
日志.txt
这个是捕获的日志
远程控制.zip
这个是不包含addon的项目源代码。
这个是ai的分析结果:
崩溃原因确认:不是发送频率的问题(日志显示实际频率只有~14Hz)。
真正原因是 cowdata.h 数组越界:
1 FATAL: Index p_index = 0 is out of bounds (size() = 0)
Native 层的触摸指针列表为空时,send_touch_event(TOUCH_EVENT_MOVE) 仍被调用,导致访问空数组的第0个元素而崩溃。
修复方案: