{ "id": "117050", "key": "TIMOB-14510", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "15703", "description": "2013 Sprint 22", "name": "2013 Sprint 22", "archived": true, "released": true, "releaseDate": "2013-11-01" }, { "id": "15704", "description": "2013 Sprint 22 API", "name": "2013 Sprint 22 API", "archived": true, "released": true, "releaseDate": "2013-11-01" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-10-24T16:57:21.000+0000", "created": "2013-07-10T18:05:49.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "crash", "iOS", "module_listview", "qe-closed-3.2.0", "qe-testadded", "triage" ], "versions": [ { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [ { "id": "32823", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "121419", "key": "AC-2661", "fields": { "summary": "iOS: touchstart, touchend events on a view in ListView custom template crash app", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "33959", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "124061", "key": "TIDOC-1485", "fields": { "summary": "iOS: Events do not fire correctly in ListView ", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2014-02-20T06:43:53.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "attachment": [], "flagged": false, "summary": "iOS: touchstart or touchend event on a ListView template makes the app crash", "creator": { "name": "pdaigle", "key": "pdaigle", "displayName": "Patrick Daigle", "active": true, "timeZone": "America/Montreal" }, "subtasks": [], "reporter": { "name": "pdaigle", "key": "pdaigle", "displayName": "Patrick Daigle", "active": true, "timeZone": "America/Montreal" }, "environment": "SDK 3.1.1.GA\r\niPad Simulator / iOS 6.1", "comment": { "comments": [ { "id": "261301", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and confirmed on iOS 6 simulator with Ti SDK 3.1.1 GA and latest 3.2 CI.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-07-10T18:56:05.000+0000", "updated": "2013-07-10T18:56:05.000+0000" }, { "id": "275913", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-10-21T11:00:11.000+0000", "updated": "2013-10-21T11:44:14.000+0000" }, { "id": "275962", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Here's a bandaid fix that works. In the method handleControlEvents in TiUIView.m modify the if statement to this:\r\n{code}\r\nif ([parentProxy viewAttached] && [parentProxy canHaveControllerParent] && [parentProxy respondsToSelector:@selector(handleControlEvents)]) \r\n{code}\r\n\r\nThis prevents the crash, but there is something very weird about the touchstart and touchend handling, and in any case I think all the ListView event handling needs a lookover: e.g., you can't listen for touchstart and touchend on ListViews, but you can for other touch events... why??? Makes no sense, for example, to listen for a longpress when you can't get the touchend, etc.", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-10-21T16:45:38.000+0000", "updated": "2013-10-21T16:45:38.000+0000" }, { "id": "276125", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "To clarify: the fix above is absolutely valid, and restores the intended functionality. Pending a refactor of touch handling in TiUIView.m - this small fix does the job for now. I highly suggest pulling it into the code, for now at least.", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-10-22T12:04:59.000+0000", "updated": "2013-10-22T12:04:59.000+0000" }, { "id": "276493", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Pull pending against master\r\nhttps://github.com/appcelerator/titanium_mobile/pull/4841", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-10-23T23:21:22.000+0000", "updated": "2013-10-23T23:21:22.000+0000" }, { "id": "276636", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "Great! Any chance of backporting this small fix to 3.1.x as well?", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2013-10-24T18:04:25.000+0000", "updated": "2013-10-24T18:04:25.000+0000" }, { "id": "276756", "author": { "name": "prastogi", "key": "prastogi", "displayName": "Pragya Rastogi", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Tested & Verified the fix with:\r\nOSX: 10.8.5\r\nXcode:5.0\r\nAppcelerator Studio: 3.2.0.201310250414\r\nSDK: 3.2.0.v20131024120843\r\nacs:1.0.7\r\nalloy:1.2.2\r\nnpm:1.3.2\r\ntitanium:3.2.0\r\ntitanium-code-processo:1.0.3\r\nDevice: ipad 7.0\r\nDevice: iPod touch 2 (v iOS7)", "updateAuthor": { "name": "prastogi", "key": "prastogi", "displayName": "Pragya Rastogi", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-10-25T09:56:13.000+0000", "updated": "2013-10-25T09:56:13.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }