{ "id": "86227", "key": "TIMOB-8472", "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": "13573", "description": "Sprint 2012-15 API", "name": "Sprint 2012-15 API", "archived": true, "released": true, "releaseDate": "2012-07-30" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-07-27T11:29:22.000+0000", "created": "2012-02-08T13:29:18.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "SupportTeam", "api", "module_tableviewrow", "qe-testadded" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "12677", "description": "Release 1.8 Service Pack 1", "name": "Release 1.8.1", "archived": true, "released": true, "releaseDate": "2012-01-31" } ], "issuelinks": [ { "id": "18709", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "94969", "key": "TIMOB-9945", "fields": { "summary": "iOS: TableViewRow - Clicking in order at rows pulls down background image from 1st row to the 2nd", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-08-13T10:26:57.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": "h6.Problem\r\nSetting the backgroundImage property of a TableViewRow to null crashes the app with a NullPointerException/force close. Setting backgroundImage to an empty string locks up the app (which will eventually crash if you keep clicking or try to back out).\r\n\r\nh6.Rationale\r\nThis is a problem because we have the need to apply a background image to a row, and then at some point later remove that background image completely.\r\n\r\nh6.Tested on\r\nDroid Razr 2.3.5\r\nAndroid 2.2 emulator\r\n\r\nh6.Runtime engines\r\nV8/Rhino\r\n\r\nh6.Reproduction steps\r\n1. Drop the following app.js code into a new project - initially, the row has no background image (property no specified)\r\n2. click the row once...a background image appears (and the caption changes)\r\n3. click the row again...a Force Close messaage appears on the screen, and a NullPointerException appears in the console\r\n\r\nif you repeat the test with the \"1st test\" line commented out and the \"2nd test\" line uncommented, the app will freeze (nothing new appears in the console window) and then crash if you click the row again or try to \"back\" out.\r\n\r\nh6.Repro sequence\r\n{code}\r\nvar win1 = Ti.UI.createWindow({ \r\n backgroundColor:'black'\r\n});\r\n\r\nvar TheListBox=Ti.UI.createTableView({width:'auto'});\r\nvar BIRow=Ti.UI.createTableViewRow({color:'white',\r\n title:'No background image...click to toggle'});\r\nTheListBox.appendRow(BIRow);\r\n\r\nwin1.open();\r\nwin1.add(TheListBox);\r\n\r\nBIRow.addEventListener('click',ToggleBI);\r\nfunction ToggleBI()\r\n{\r\n if (!BIRow.backgroundImage)\r\n {\r\n BIRow.backgroundImage='appicon.png';\r\n BIRow.title='Titanium background image...click to toggle';\r\n }\r\n else \r\n {\r\n BIRow.backgroundImage=null; // 1st test...NullPointerException\r\n //BIRow.backgroundImage=''; // 2nd test...lockup/freeze...crash on next click\r\n BIRow.title='No background image...click to toggle';\r\n }\r\n}\r\n{code}\r\n\r\nh6.Console output\r\n{noformat}\r\ncation: (main) [34,34] Titanium 1.8.1 (2012/01/27 17:31 a24502a)\r\n03-31 22:59:19.411 5847 5847 I TiApplication: (main) [52,86] Titanium Javascript runtime: v8\r\n03-31 22:59:19.411 5847 5855 D dalvikvm: Trying to load lib /data/data/com.appcelerator.test/lib/libstlport_shared.so 0x4051cf58\r\n03-31 22:59:19.411 5847 5855 D dalvikvm: Added shared lib /data/data/com.appcelerator.test/lib/libstlport_shared.so 0x4051cf58\r\n03-31 22:59:19.411 5847 5855 D dalvikvm: No JNI_OnLoad found in /data/data/com.appcelerator.test/lib/libstlport_shared.so 0x4051cf58, skipping init\r\n03-31 22:59:19.411 5847 5855 D dalvikvm: Trying to load lib /data/data/com.appcelerator.test/lib/libkroll-v8.so 0x4051cf58\r\n03-31 22:59:19.419 5847 5855 D dalvikvm: Added shared lib /data/data/com.appcelerator.test/lib/libkroll-v8.so 0x4051cf58\r\n03-31 22:59:19.442 5847 5847 W TiApplication: (main) [38,124] activity stack is emtpy, unable to get current activity\r\n03-31 22:59:19.442 5847 5847 I TiRootActivity: (main) [0,0] checkpoint, on root activity create, savedInstanceState: null\r\n03-31 22:59:19.513 5847 5847 W TiApplication: (main) [70,70] activity stack is emtpy, unable to get current activity\r\n03-31 22:59:19.513 5847 5847 W TiApplication: (main) [1,71] activity stack is emtpy, unable to get current activity\r\n03-31 22:59:19.513 5847 5847 W TiApplication: (main) [0,71] activity stack is emtpy, unable to get current activity\r\n03-31 22:59:19.716 5847 5855 E TiApplication: (KrollRuntimeThread) [201,272] APP PROXY: ti.modules.titanium.app.AppModule@405ac7e0\r\n03-31 22:59:19.864 5847 5847 D dalvikvm: GC_EXTERNAL_ALLOC freed 490K, 45% free 3304K/5959K, external 2741K/2773K, paused 36ms\r\n03-31 22:59:19.911 5847 5847 I TiRootActivity: (main) [0,0] checkpoint, on root activity resume. activity = com.appcelerator.test._1bestpracticesActivity@40594d48\r\n03-31 22:59:19.942 509 722 W InputManagerService: Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@4092bfd8 (uid=10035 pid=890)\r\n03-31 22:59:19.950 509 801 I gralloc : Allocated 0x660072 size 6488161\r\n03-31 22:59:19.997 509 604 I ActivityManager: Displayed com.appcelerator.test/._1bestpracticesActivity: +743ms\r\n03-31 22:59:21.122 509 509 I gralloc : Allocated 0x660072 size 6488161\r\n03-31 22:59:23.349 509 603 I AlarmManager: sending alarm Alarm{4067a338 type 0 com.android.vending}\r\n03-31 22:59:23.771 1836 1838 D dalvikvm: GC_CONCURRENT freed 149K, 45% free 4022K/7239K, external 2357K/2773K, paused 1ms+1ms\r\n03-31 22:59:23.825 1836 1836 D Finsky : [1] 5.onFinished: Installation state replication succeeded.\r\n03-31 22:59:24.458 509 603 I AlarmManager: sending alarm Alarm{40bd1650 type 0 com.google.android.gsf}\r\n03-31 22:59:24.481 897 4041 I EventLogService: Aggregate from 1333254564412 (log), 1333254564412 (data)\r\n03-31 22:59:25.872 509 600 D BatteryTempPolicy: updateBatteryTemp temperature = 310, Threshhold = 3\r\n03-31 22:59:25.880 258 495 E NetlinkListener: ignoring non-kernel netlink multicast message\r\n03-31 22:59:25.880 256 283 E NetlinkListener: ignoring non-kernel netlink multicast message\r\n03-31 22:59:25.880 254 291 E NetlinkListener: ignoring non-kernel netlink multicast message\r\n03-31 22:59:25.880 258 584 E NetlinkListener: ignoring non-kernel netlink multicast message\r\n03-31 22:59:25.911 664 664 D StatusBarPolicy: handleBatteryUpdate\r\n03-31 22:59:30.997 890 890 D dalvikvm: GC_EXPLICIT freed 527K, 49% free 4499K/8775K, external 8803K/10851K, paused 76ms\r\n03-31 22:59:36.005 2207 2207 D dalvikvm: GC_EXPLICIT freed 15K, 38% free 4178K/6663K, external 2357K/2773K, paused 75ms\r\n03-31 22:59:40.989 2281 2281 D dalvikvm: GC_EXPLICIT freed 8K, 44% free 3173K/5575K, external 2357K/2773K, paused 57ms\r\n03-31 22:59:46.005 2082 2082 D dalvikvm: GC_EXPLICIT freed 299K, 42% free 3443K/5895K, external 2357K/2773K, paused 72ms\r\n03-31 22:59:49.552 5847 5886 W TiAnalyticsSvc: (Thread-13) [29641,29641] Analytics Service Started\r\n03-31 22:59:49.575 5847 5886 I TiAnalyticsSvc: (Thread-13) [26,29667] Network unavailable, can't send analytics\r\n03-31 22:59:49.575 5847 5886 W TiAnalyticsSvc: (Thread-13) [0,29667] Stopping Analytics Service\r\n03-31 22:59:54.606 4351 4351 D dalvikvm: GC_EXPLICIT freed 11K, 42% free 3131K/5379K, external 2357K/2773K, paused 58ms\r\n03-31 22:59:59.630 2191 2191 D dalvikvm: GC_EXPLICIT freed 163K, 47% free 4043K/7559K, external 2357K/2773K, paused 78ms\r\n03-31 22:59:59.997 509 603 I AlarmManager: sending alarm Alarm{40d99778 type 1 android}\r\n03-31 23:00:05.075 2216 2216 D dalvikvm: GC_EXPLICIT freed 17K, 44% free 3042K/5379K, external 2357K/2773K, paused 24ms\r\n03-31 23:00:10.099 2226 2226 D dalvikvm: GC_EXPLICIT freed 6K, 44% free 3022K/5379K, external 2357K/2773K, paused 42ms\r\n03-31 23:00:10.552 5847 5855 W TypeConverter: jsValueToJavaObject returning null\r\n03-31 23:00:10.552 5847 5847 D AndroidRuntime: Shutting down VM\r\n03-31 23:00:10.552 5847 5847 W dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x4001e560)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: (main) [20975,50642] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 1.8.1,2012/01/27 17:31,a24502a\r\n03-31 23:00:10.560 5847 5847 E TiApplication: java.lang.NullPointerException\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat ti.modules.titanium.ui.widget.tableview.TiBaseTableViewItem.setBackgroundFromProxy(TiBaseTableViewItem.java:182)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.setRowData(TiTableViewRowProxyItem.java:213)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.setRowData(TiTableViewRowProxyItem.java:84)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat ti.modules.titanium.ui.widget.tableview.TiTableView$TTVListAdapter.getView(TiTableView.java:210)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.AbsListView.obtainView(AbsListView.java:1435)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.ListView.makeAndAddView(ListView.java:1824)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.ListView.fillSpecific(ListView.java:1365)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.ListView.layoutChildren(ListView.java:1651)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.AbsListView.onLayout(AbsListView.java:1286)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:382)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:382)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.LinearLayout.onLayout(LinearLayout.java:1047)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.ViewRoot.performTraversals(ViewRoot.java:1180)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.view.ViewRoot.handleMessage(ViewRoot.java:1914)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.os.Looper.loop(Looper.java:130)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:3859)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat java.lang.reflect.Method.invoke(Method.java:507)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)\r\n03-31 23:00:10.560 5847 5847 E TiApplication: \tat dalvik.system.NativeStart.main(Native Method)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: FATAL EXCEPTION: main\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: java.lang.NullPointerException\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat ti.modules.titanium.ui.widget.tableview.TiBaseTableViewItem.setBackgroundFromProxy(TiBaseTableViewItem.java:182)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.setRowData(TiTableViewRowProxyItem.java:213)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat ti.modules.titanium.ui.widget.tableview.TiTableViewRowProxyItem.setRowData(TiTableViewRowProxyItem.java:84)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat ti.modules.titanium.ui.widget.tableview.TiTableView$TTVListAdapter.getView(TiTableView.java:210)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.AbsListView.obtainView(AbsListView.java:1435)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.ListView.makeAndAddView(ListView.java:1824)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.ListView.fillSpecific(ListView.java:1365)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.ListView.layoutChildren(ListView.java:1651)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.AbsListView.onLayout(AbsListView.java:1286)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:382)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat org.appcelerator.titanium.view.TiCompositeLayout.onLayout(TiCompositeLayout.java:382)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.LinearLayout.onLayout(LinearLayout.java:1047)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.widget.FrameLayout.onLayout(FrameLayout.java:338)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.View.layout(View.java:7184)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.ViewRoot.performTraversals(ViewRoot.java:1180)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.view.ViewRoot.handleMessage(ViewRoot.java:1914)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.os.Handler.dispatchMessage(Handler.java:99)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.os.Looper.loop(Looper.java:130)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat android.app.ActivityThread.main(ActivityThread.java:3859)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat java.lang.reflect.Method.invoke(Method.java:507)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)\r\n03-31 23:00:10.591 5847 5847 E AndroidRuntime: \tat dalvik.system.NativeStart.main(Native Method)\r\n03-31 23:00:10.599 509 783 W ActivityManager: Force finishing activity com.appcelerator.test/._1bestpracticesActivity\r\n03-31 23:00:10.708 509 526 D dalvikvm: GC_EXTERNAL_ALLOC freed 1343K, 36% free 9055K/14023K, external 10065K/10188K, paused 85ms\r\n03-31 23:00:10.724 509 526 W ApplicationContext: Unable to create files directory\r\n03-31 23:00:10.747 509 526 I gralloc : Allocated 0x61663d64 size 2103800684\r\n03-31 23:00:11.099 509 524 W ActivityManager: Activity pause timeout for HistoryRecord{40a2c3d8 com.appcelerator.test/._1bestpracticesActivity}\r\n03-31 23:00:11.099 509 524 I ActivityManager: No longer want amep.games.af_final:remote (pid 4351): hidden #21\r\n03-31 23:00:11.122 890 890 D ActivitityRenderTarget: onResume\r\n03-31 23:00:11.177 890 5830 W IMGSRV : eglglue.c:778: InitContext: ignoring buffer type CBUF_TYPE_PDS_VERT_SECONDARY_PREGEN_BUFFER\r\n03-31 23:00:11.192 509 515 I gralloc : Allocated 0x660072 size 6488161\r\n03-31 23:00:11.294 509 873 I gralloc : Allocated 0x660072 size 6488161\r\n03-31 23:00:11.349 509 722 I gralloc : Allocated 0x660072 size 6488161\r\n03-31 23:00:11.356 509 820 W ActivityManager: Scheduling restart of crashed service amep.games.af_final/com.appenda.AppNotify in 5000ms\r\n03-31 23:00:11.599 509 524 I ActivityManager: No longer want com.motorola.im.service (pid 4333): hidden #21\r\n03-31 23:00:11.622 509 827 W ActivityManager: Scheduling restart of crashed service com.motorola.im/.service.RemoteImService in 14734ms\r\n03-31 23:00:11.731 509 526 I gralloc : Allocated 0x61663d64 size 2103800684\r\n{noformat}\r\n\r\nh6.API docs\r\nhttp://developer.appcelerator.com/apidoc/mobile/latest/Titanium.UI.TableViewRow.backgroundImage-property.html\r\n", "attachment": [], "flagged": false, "summary": "Android: setting backgroundImage of TableViewRow to null or empty string crashes app", "creator": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "environment": "- Titanium Mobile 1.8.1, 1.8.2, 2.0\r\n- Android 2.2 emulator\r\n- Mac OS 10.7.3\r\n- Titanium Studio 1.0.8.201201262211\r\n", "comment": { "comments": [ { "id": "190595", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Will this fix be merged into 2.0.0/2.0.1, or is it only available in 2.1.0 ?", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-04-11T11:42:20.000+0000", "updated": "2012-04-11T11:42:20.000+0000" }, { "id": "190596", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is going to be available only in 2.1.0.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-04-11T11:44:20.000+0000", "updated": "2012-04-11T11:44:20.000+0000" }, { "id": "199896", "author": { "name": "psingh", "key": "psingh", "displayName": "Payminder Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "\r\nTitanium Studio: 2.1.0.201206221045\r\nMobile SDK: 2.1.0.v20120622174154\r\nOS: X Lion\r\nDevice: Samsung Galaxy \r\n\r\nCan't reproduce.\r\n\r\nApp don't crash by repeating the step constantly and providing the expected result on very click.", "updateAuthor": { "name": "psingh", "key": "psingh", "displayName": "Payminder Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-23T11:20:41.000+0000", "updated": "2012-06-23T11:20:41.000+0000" }, { "id": "200007", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Not quite there yet. I tested with SDK 2.1.0.v20120615132253 and setting backgroundImage to null has the correct desired effect. BUT, setting backgroundImage to an empty string (the 2nd test in the attached testcase) exibits the same problem: app freezes and then crashes and dies on the next click.\r\n\r\nTo see this, comment out the \"1st test\" line in the testcase and uncomment the \"2nd test\" line.\r\n\r\nPlease reopen this ticket.", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-06-25T06:43:04.000+0000", "updated": "2012-06-25T06:43:04.000+0000" }, { "id": "200011", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening based on Shawn's comments.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-25T08:55:58.000+0000", "updated": "2012-06-25T08:55:58.000+0000" }, { "id": "202742", "author": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can't reproduce this issue. \r\nTested with the \"1st test\" line commented out and the \"2nd test\" line uncommented, and vice versa.\r\n\r\nTesting environment:\r\nTitanium Studio, build: 2.1.1.201207101322\r\nTitanium SDK: 2.1.0.GA and 2.1.1.v20120705143056\r\nDevices: Motorola Droid (2.2.3), Nexus S (4.0.4)\r\n", "updateAuthor": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-11T13:57:02.000+0000", "updated": "2012-07-11T13:57:02.000+0000" }, { "id": "202746", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "I just ran the \"2nd test\" using SDK 2.1.0.GA and reproduced the same lockup/crash. Notice that the reported environment is the Android 2.2 emulator (I am running on a Windows 7 machine now, and using Ti Studio 2.1.0.201206251749).\r\n\r\nThe first click displays the Titanium background image. The second click does nothing. The third click crashes the app.", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-07-11T14:11:02.000+0000", "updated": "2012-07-11T14:11:02.000+0000" }, { "id": "202777", "author": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reproduced this bug on Android 2.2 emulator.\r\n\r\nTesting environment:\r\nTitanium Studio, build: 2.1.1.201207101322\r\nTitanium SDK: 2.1.0.GA and 2.1.1.v20120705143056\r\nMac OS 10.7.3", "updateAuthor": { "name": "tsmolich", "key": "tsmolich", "displayName": "Tamila Smolich", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-11T15:44:50.000+0000", "updated": "2012-07-11T15:44:50.000+0000" }, { "id": "213674", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fix with:\r\nTitanium Studio, build: 2.1.1.201207271312\r\nTitanium SDK: 2.2.0\r\nHTC EVO 4.0.3", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-09T15:46:39.000+0000", "updated": "2012-08-09T15:46:39.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }