{ "id": "117253", "key": "TIMOB-14573", "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": "15564", "description": "2013 Sprint 15 API", "name": "2013 Sprint 15 API", "archived": true, "released": true, "releaseDate": "2013-07-29" }, { "id": "15567", "description": "2013 Sprint 15", "name": "2013 Sprint 15", "archived": true, "released": true, "releaseDate": "2013-07-29" }, { "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-07-30T00:39:00.000+0000", "created": "2013-07-16T21:45:25.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "module_label", "parity", "qe-testadded" ], "versions": [ { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" } ], "issuelinks": [ { "id": "30248", "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": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "updated": "2014-06-19T12:44:41.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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h2. problem\r\n\r\nWhen setting *borderColor* of a proxy to null, out supported platforms all have different behaviors:\r\n\r\nh4. ios\r\n\r\nThe borderColor is given the default solid color, which is black\r\n\r\nh4. mobileweb\r\n\r\nThe borderColor is made transparent\r\n\r\nh4. android\r\n\r\nA force close happens and this error log is generated\r\n\r\n{code}\r\nW/dalvikvm( 765): threadid=1: thread exiting with uncaught exception (group=0x40015560)\r\nE/TiApplication( 765): (main) [22789,22790] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 3.1.1,2013/06/15 16:10,f7592c1\r\nE/TiApplication( 765): java.lang.NullPointerException\r\nE/TiApplication( 765): \tat org.appcelerator.titanium.view.TiUIView.handleBorderProperty(TiUIView.java:1023)\r\nE/TiApplication( 765): \tat org.appcelerator.titanium.view.TiUIView.propertyChanged(TiUIView.java:619)\r\nE/TiApplication( 765): \tat ti.modules.titanium.ui.widget.TiUILabel.propertyChanged(TiUILabel.java:168)\r\nE/TiApplication( 765): \tat org.appcelerator.kroll.KrollPropertyChange.fireEvent(KrollPropertyChange.java:21)\r\nE/TiApplication( 765): \tat org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1011)\r\nE/TiApplication( 765): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:316)\r\nE/TiApplication( 765): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/TiApplication( 765): \tat android.os.Looper.loop(Looper.java:130)\r\nE/TiApplication( 765): \tat android.app.ActivityThread.main(ActivityThread.java:3683)\r\nE/TiApplication( 765): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/TiApplication( 765): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\nE/TiApplication( 765): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\nE/TiApplication( 765): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\nE/TiApplication( 765): \tat dalvik.system.NativeStart.main(Native Method)\r\nE/AndroidRuntime( 765): FATAL EXCEPTION: main\r\nE/AndroidRuntime( 765): java.lang.NullPointerException\r\nE/AndroidRuntime( 765): \tat org.appcelerator.titanium.view.TiUIView.handleBorderProperty(TiUIView.java:1023)\r\nE/AndroidRuntime( 765): \tat org.appcelerator.titanium.view.TiUIView.propertyChanged(TiUIView.java:619)\r\nE/AndroidRuntime( 765): \tat ti.modules.titanium.ui.widget.TiUILabel.propertyChanged(TiUILabel.java:168)\r\nE/AndroidRuntime( 765): \tat org.appcelerator.kroll.KrollPropertyChange.fireEvent(KrollPropertyChange.java:21)\r\nE/AndroidRuntime( 765): \tat org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1011)\r\nE/AndroidRuntime( 765): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:316)\r\nE/AndroidRuntime( 765): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/AndroidRuntime( 765): \tat android.os.Looper.loop(Looper.java:130)\r\nE/AndroidRuntime( 765): \tat android.app.ActivityThread.main(ActivityThread.java:3683)\r\nE/AndroidRuntime( 765): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/AndroidRuntime( 765): \tat java.lang.reflect.Method.invoke(Method.java:507)\r\nE/AndroidRuntime( 765): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)\r\nE/AndroidRuntime( 765): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)\r\nE/AndroidRuntime( 765): \tat dalvik.system.NativeStart.main(Native Method)\r\n{code}\r\n\r\nh2. expected\r\n\r\nWhether the borderColor is turned to solid black or transparent, it needs to be uniform across platforms. Also, there should be no errors when setting borderColor to null.\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\tborderColor: '#0f0',\r\n\r\n\t// note: borderWidth is required to cause the android exception\r\n\tborderWidth: 2\r\n});\r\nlabel.addEventListener('click', function(e) {\r\n\tlabel.borderColor = null;\r\n});\r\n\r\nwin.add(label);\r\nwin.open();\r\n{code}", "attachment": [], "flagged": false, "summary": "Parity: Platforms all have different behavior if borderColor 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, 4.2.2", "comment": { "comments": [ { "id": "262782", "author": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "body": "PR :-\r\nhttps://github.com/appcelerator/titanium_mobile/pull/4472", "updateAuthor": { "name": "bijuexalture", "key": "bijuexalture", "displayName": "Biju pm", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-07-23T06:24:39.000+0000", "updated": "2013-07-23T06:24:39.000+0000" }, { "id": "274582", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix with:\r\n\r\nAppc-Studio: 3.2.0.201310100354\r\nSdk:3.2.0.v20131009134844\r\nalloy:1.2.2\r\nnpm:1.3.2\r\ntitanium:3.2.0\r\ntitanium-code-processor:1.0.3\r\nDevice:Google Nexus 7(v4.3),ipodTouch1(v7.0)\r\nXcode: 5\r\n\r\n\r\nBorderColor when set to null for label in iOS turns black and in Android turns transparent.", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-10T11:30:02.000+0000", "updated": "2013-10-10T11:30:02.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }