{ "id": "117251", "key": "TIMOB-14571", "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": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2017-07-27T21:11:31.000+0000", "created": "2013-07-16T21:20:02.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "parity" ], "versions": [ { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" } ], "issuelinks": [ { "id": "30244", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "116320", "key": "ALOY-717", "fields": { "summary": "Improve \"reflow\"/\"repaint\" functionality when adding and removing classes", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-07-27T21:11:31.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": "10224", "name": "TiAPI", "description": "This component is used for cross-platform API work. Specifications are most likely to use this component." } ], "description": "h2. problem\r\n\r\nWhen setting the *backgroundGradient* property of a proxy to *null* you get the following behaviors:\r\n\r\nh4. android\r\n\r\nThe backgroundGradient is unaffected. Nothing happens.\r\n\r\nh4. Mobileweb\r\n\r\nAn exception is thrown with the following error:\r\n\r\n{code}\r\nUncaught TypeError: Cannot read property 'type' of null at /index.html (line 11509)\r\n{code}\r\n\r\nh4. ios\r\n\r\nA core platform error occurs\r\n\r\n{code}\r\n[DEBUG] 2013-07-16 17:05:51.020 parity[7638:c07] -[NSNull paintContext:bounds:]: unrecognized selector sent to instance 0x3a02678\r\n[ERROR] The application has crashed with an uncaught exception 'NSInvalidArgumentException'.\r\n[ERROR] Reason:\r\n[ERROR] -[NSNull paintContext:bounds:]: unrecognized selector sent to instance 0x3a02678\r\n[ERROR] Stack trace:\r\n[ERROR] 0 CoreFoundation 0x038d1012 __exceptionPreprocess + 178\r\n[ERROR] 1 libobjc.A.dylib 0x03392e7e objc_exception_throw + 44\r\n[ERROR] 2 CoreFoundation 0x0395c4bd -[NSObject(NSObject) doesNotRecognizeSelector:] + 253\r\n[ERROR] 3 CoreFoundation 0x038c0bbc ___forwarding___ + 588\r\n[ERROR] 4 CoreFoundation 0x038c094e _CF_forwarding_prep_0 + 14\r\n[ERROR] 5 parity 0x001e8cec -[TiGradientLayer drawInContext:] + 220\r\n[ERROR] 6 QuartzCore 0x0252c96b _ZL16backing_callbackP9CGContextPv + 96\r\n[ERROR] 7 QuartzCore 0x0243e723 CABackingStoreUpdate_ + 2703\r\n[ERROR] 8 QuartzCore 0x0252c83c _ZN2CA5Layer8display_Ev + 1406\r\n[ERROR] 9 QuartzCore 0x0252c9ba -[CALayer _display] + 33\r\n[ERROR] 10 QuartzCore 0x0252c2b6 _ZN2CA5Layer7displayEv + 152\r\n[ERROR] 11 QuartzCore 0x0252c994 -[CALayer display] + 33\r\n[ERROR] 12 QuartzCore 0x025210e2 _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 328\r\n[ERROR] 13 QuartzCore 0x0252115c _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 38\r\n[ERROR] 14 QuartzCore 0x0249f0bc _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 324\r\n[ERROR] 15 QuartzCore 0x024a0227 _ZN2CA11Transaction6commitEv + 395\r\n[ERROR] 16 QuartzCore 0x024a08e2 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 96\r\n[ERROR] 17 CoreFoundation 0x03899afe __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30\r\n[ERROR] 18 CoreFoundation 0x03899a3d __CFRunLoopDoObservers + 381\r\n[ERROR] 19 CoreFoundation 0x038777c2 __CFRunLoopRun + 1106\r\n[ERROR] 20 CoreFoundation 0x03876f44 CFRunLoopRunSpecific + 276\r\n[ERROR] 21 CoreFoundation 0x03876e1b CFRunLoopRunInMode + 123\r\n[ERROR] 22 GraphicsServices 0x036587e3 GSEventRunModal + 88\r\n[ERROR] 23 GraphicsServices 0x03658668 GSEventRun + 104\r\n[ERROR] 24 UIKit 0x00f6cffc UIApplicationMain + 1211\r\n[ERROR] 25 parity 0x00007568 main + 456\r\n[ERROR] 26 parity 0x00002d35 start + 53\r\n[ERROR] 27 ??? 0x00000001 0x0 + 1\r\n[ERROR] 2013-07-16 17:05:51.068 parity[7638:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull paintContext:bounds:]: unrecognized selector sent to instance 0x3a02678'\r\n[ERROR] *** First throw call stack:\r\n[ERROR] (0x38d1012 0x3392e7e 0x395c4bd 0x38c0bbc 0x38c094e 0x1e8cec 0x252c96b 0x243e723 0x252c83c 0x252c9ba 0x252c2b6 0x252c994 0x25210e2 0x252115c 0x249f0bc 0x24a0227 0x24a08e2 0x3899afe 0x3899a3d 0x38777c2 0x3876f44 0x3876e1b 0x36587e3 0x3658668 0xf6cffc 0x7568 0x2d35 0x1)\r\n-- End simulator log ---------------------------------------------------------\r\n[ERROR] An error occurred running the iOS Simulator\r\n[ERROR] \r\n[ERROR] Project failed to build after 53s 947ms\r\n{code}\r\n\r\nh2. expected\r\n\r\nAll platforms should remove the backgroundGradient from the Titanium proxy and no error should occur.\r\n\r\nh2. test case\r\n\r\n{code:javascript}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor: '#fff',\r\n\tmodal: false,\r\n\texitOnClose: true\r\n});\r\nvar label = Ti.UI.createLabel({\r\n\ttext: 'just a test label',\r\n\tbackgroundGradient: {\r\n type: 'linear',\r\n startPoint: { x: '0%', y: '50%' },\r\n endPoint: { x: '100%', y: '50%' },\r\n colors: [\r\n \t{ color: 'red', offset: 0.0},\r\n \t{ color: 'blue', offset: 0.25 },\r\n \t{ color: 'red', offset: 1.0 }\r\n ],\r\n }\r\n});\r\nlabel.addEventListener('click', function(e) {\r\n\tlabel.backgroundGradient = null;\r\n});\r\n\r\nwin.add(label);\r\nwin.open();\r\n{code}", "attachment": [], "flagged": false, "summary": "Parity: Supported platforms behave differently when backgroundGradient is set to null", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "TiSDK 3.1.1\r\nAndroid 2.3.3\r\niOS 6.1\r\nChrome 27.0.1453.116", "comment": { "comments": [ { "id": "424994", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing due to inactivity. If this issue still exists, please raise a new ticket.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-07-27T21:11:31.000+0000", "updated": "2017-07-27T21:11:31.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }