{ "id": "87186", "key": "TIMOB-7854", "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": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "13170", "name": "Sprint 2012-06", "archived": true, "released": true, "releaseDate": "2012-03-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-03-20T14:48:40.000+0000", "created": "2012-02-29T15:10:23.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios", "module_window", "qe-testadded" ], "versions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" } ], "issuelinks": [ { "id": "15804", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "inwardIssue": { "id": "88111", "key": "TIMOB-8070", "fields": { "summary": "iOS: Modal windows are clipped / incorrectly oriented", "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 } } } }, { "id": "15801", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "88111", "key": "TIMOB-8070", "fields": { "summary": "iOS: Modal windows are clipped / incorrectly oriented", "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": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2012-07-09T14:02:33.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" } ], "description": "In the following code the windows opened are never cleared out from memory which can cause memory as well as orientation issues as we check the last window on the stack to find the current orientation. \r\n\r\nh3.Steps to reproduce\r\n1. Run the app.js file in instruments.\r\n2. search for TiUIwindowproxy\r\n3. Click open on Blue window\r\n4. Click open on Green window.\r\n5. Click close on Red Window.\r\n6. Repeat steps 4 & 5 , few times and finally click close on blue window.\r\n7. Check the number of living WindowProxy.(It does not get Garbage Collected).\r\n\r\nh3.Expected Result:\r\nWhen closing out the windows inside modal views the windowproxy should cleaned up.\r\n\r\nh3.Actual Result:\r\nNone of the windows opened inside modal views are cleaned up.\r\n\r\n{code:javascript|title=app.js|borderStyle=solid}\r\nvar toplevel = Ti.UI.createWindow({\r\n\torientationModes:[\r\n\t\tTi.UI.PORTRAIT,\r\n\t\tTi.UI.UPSIDE_PORTRAIT\r\n\t],\r\n\tbackgroundColor:'blue'\r\n});\r\n\r\nvar win = Ti.UI.createWindow({\r\n\torientationModes:[\r\n\t\tTitanium.UI.LANDSCAPE_LEFT,\r\n\t\tTitanium.UI.LANDSCAPE_RIGHT\r\n\t],\r\n\tbackgroundColor:'green'\r\n});\r\n\r\n\r\n\r\nvar b = Ti.UI.createButton({\r\n\ttitle:'open',\r\n\twidth:100,\r\n\theight:50\r\n});\r\nb.addEventListener('click', function() {\r\n\twin.open({modal:true});\r\n});\r\n\r\nvar b2 = Ti.UI.createButton({\r\n\ttitle:'open',\r\n\twidth:100,\r\n\theight:50,\r\n\ttop:20\r\n});\r\nb2.addEventListener('click', function() {\r\n\tvar win2 = Ti.UI.createWindow({\r\n\torientationModes:[Ti.UI.LANDSCAPE_RIGHT],\r\n\tbackgroundColor:'red'\r\n });\r\n var b4 = Ti.UI.createButton({\r\n\ttitle:'close',\r\n\twidth:100,\r\n\theight:50,\r\n\tbottom:20\r\n });\r\n win2.add(b4);\r\n b4.addEventListener('click', function() {\r\n win2.close();\r\n });\r\n\r\n \r\n \r\n \r\n win2.open();\r\n});\r\n\r\nvar b3 = Ti.UI.createButton({\r\n\ttitle:'close',\r\n\twidth:100,\r\n\theight:50,\r\n\tbottom:20\r\n});\r\nb3.addEventListener('click', function() {\r\n\twin.close();\r\n});\r\n\r\nvar b4 = Ti.UI.createButton({\r\n\ttitle:'close',\r\n\twidth:100,\r\n\theight:50,\r\n\tbottom:20\r\n});\r\nb4.addEventListener('click', function() {\r\n\twin2.close();\r\n});\r\n\r\ntoplevel.add(b);\r\nwin.add(b2);\r\nwin.add(b3);\r\n\r\n\r\ntoplevel.open();\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: WindowProxy not properly cleaned up in modal views ", "creator": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "187420", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This PR is on hold pending TIMOB-8070 resolution.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-20T10:36:11.000+0000", "updated": "2012-03-20T10:36:11.000+0000" }, { "id": "187518", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Pull #1691 merged", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-20T14:48:40.000+0000", "updated": "2012-03-20T14:48:40.000+0000" }, { "id": "187862", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as Fixed.\r\n\r\nSDK: 2.0.0.v20120321161753\r\nStudio: 2.0.0.201203202130\r\nOS: Snow Leopard\r\nDevices Tested: iPhone4 4.3.5, iPad2 5.1", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-21T15:49:50.000+0000", "updated": "2012-03-21T15:49:50.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }