{ "id": "123726", "key": "TIMOB-15990", "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": [], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-12-17T00:28:23.000+0000", "created": "2013-12-13T19:21:33.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "qe-3.2.0", "qe-closed-3.2.0", "qe-testadded" ], "versions": [], "issuelinks": [ { "id": "33764", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "116024", "key": "TIMOB-14252", "fields": { "summary": "BlackBerry : Setting 'contentWidth' on scrollview for labels puts them in an infinite drawing loop", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:42:40.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": "10230", "name": "BlackBerry", "description": "BlackBerry Platform" } ], "description": "h5.To reproduce\r\n1. Create an app for BB with the following code:\r\n{code}\r\nvar win = Titanium.UI.createWindow();\r\n \r\nvar scroll = Ti.UI.createScrollView({\r\n backgroundColor: 'green',\r\n width: Ti.UI.FILL,\r\n height: Ti.UI.FILL,\r\n layout: 'vertical',\r\n contentHeight:Ti.UI.SIZE,\r\n contentWidth:Ti.UI.SIZE \r\n});\r\n \r\nfunction MyButton(text) {\r\n return Ti.UI.createLabel({\r\n text: text,\r\n top: 10,\r\n //width:50\r\n });\r\n}\r\n \r\nfor(var i = 0; i < 100; i++) {\r\n scroll.add(MyButton('Label #' + (i + 1))); \r\n}\r\n \r\nwin.add(scroll);\r\nwin.open();\r\n{code}\r\n\r\n2. Build it for BB device/simulator\r\n3. launch the app & observe the labels\r\n\r\nh5. Actual result\r\n*Note* Simulator does not have this issue\r\n\r\nDifferent labels are missing when building to device continuously \r\n", "attachment": [ { "id": "44602", "filename": "TIMB97987.png", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-13T19:21:33.000+0000", "size": 74835, "mimeType": "image/png" }, { "id": "44603", "filename": "TIMB979872.png", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-13T19:21:33.000+0000", "size": 76335, "mimeType": "image/png" } ], "flagged": false, "summary": "BlackBerry: Scroll View - chaotically missing labels ", "creator": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appcelerator Studio, build: 3.2.0.201312121648\r\nTitanium SDK, buid: 3.2.0.v20131212122847\r\nCLI 3.2.0-cr3\r\nAlloy 1.3.0-cr\r\nMac osx 10.9 Mavericks\r\nBBZ10 10.1", "comment": { "comments": [ { "id": "284599", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR for 3.2.x: https://github.com/appcelerator/titanium_mobile_blackberry/pull/197", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-12-16T23:24:10.000+0000", "updated": "2013-12-16T23:24:10.000+0000" }, { "id": "284600", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR for master:\r\nhttps://github.com/appcelerator/titanium_mobile_blackberry/pull/198", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-12-16T23:24:43.000+0000", "updated": "2013-12-16T23:24:43.000+0000" }, { "id": "284602", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "The problem is that a JS value comes in for the key of the object:\n{code}\n{\n text: text,\n top: 10\n}\n{code}\nIn this case the \"text\" property.\nTo convert it to a c++ const char* we were using the function V8StringToQString(Handle) and then extracting the const char* from the QString. The problem is that this function will not always return the correct string, sometimes it returns garbage, like \"%@fd1!\" instead of \"text\", for no reason.\n\nTo fix it, just bypass that function and use the V8 API to get a const char* directly: *String::Utf8Value(Handle)\n", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-12-16T23:29:43.000+0000", "updated": "2013-12-16T23:29:43.000+0000" }, { "id": "284792", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified the fix with:\nAppcelerator Studio, build: 3.2.0.201312162210\nTitanium SDK, build: 3.2.0.v20131216191854\nCLI 3.2.0-cr3\nAlloy 1.3.0-cr2\nBBZ10 10.1.0\nNo more missing labels.", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-12-17T18:19:37.000+0000", "updated": "2013-12-17T18:19:37.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }