{ "id": "80541", "key": "TIMOB-5351", "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": "12078", "description": "", "name": "Sprint 2011-38", "archived": true, "released": true, "releaseDate": "2011-09-26" }, { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-09-25T09:45:57.000+0000", "created": "2011-09-23T02:10:40.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "branch-5062", "module_tabgroup", "qe-testadded", "rightnavbutton", "tabgroup" ], "versions": [ { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" } ], "issuelinks": [ { "id": "14144", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "83552", "key": "TIMOB-6555", "fields": { "summary": "iOS: A Tab Bar's Child's leftNavButton Can Get Placed on Child", "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": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:46:36.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": "h1. Problem\r\nIn certain situations with a tab group, a child window's rightNavButton can get placed on its parent. Specifically: a table view opens a child on the tab stack, at the same time the user hits the back button to return to the parent.\r\n\r\nh2. Reproduction\r\n\r\n1. Drop the following in an app.js. The app is structured as an outer, middle, and inner window.\r\n2. Tap \"Open Middle\", then \"I Am Middle, Click to Open Inner\". Notice what each of the three windows should look like, particularly the nav bar.\r\n3. Tap \"I Am Middle\" in the top left to go back to the middle window.\r\n4. Hold down on \"I Am Outer\" and \"I Am Middle, Click to Open Inner\".\r\n5. Let go of both at the same time.\r\n6. If your timing is right, the nav bar will say \"I Am Inner\" and \"Do Nothing\", and there will be a label in the middle of the screen saying, \"I Am Outer\" (see the attached screenshot). There is also an invisible button in the top left \"I Am Outer\" (tap the top left, and you'll see it animate away and we'll magically be on the outer window).\r\n7. If your timing isn't right, you'll be brought to the outer or inner windows. Navigate back to the middle window, and go back to step 4. I am able to reproduce this 3 out of 4 times.\r\n\r\n{code:title=app.js}\r\nvar tabGroup = Ti.UI.createTabGroup();\r\n\r\nvar outer = Ti.UI.createWindow({\r\n title: 'I Am Outer',\r\n rightNavButton: Ti.UI.createButton({ title: 'Open Middle' }),\r\n backgroundColor: '#fff'\r\n});\r\nouter.add(Ti.UI.createLabel({ text: 'I Am Outer' }));\r\nvar tab = Ti.UI.createTab({\r\n window: outer\r\n});\r\ntabGroup.addTab(tab);\r\n\r\nouter.rightNavButton.addEventListener('click', function() {\r\n var middle = Ti.UI.createWindow({\r\n title: 'I Am Middle',\r\n backgroundColor: '#fff'\r\n });\r\n var table = Ti.UI.createTableView({\r\n data: [\r\n { title: 'I Am Middle, Click to Open Inner' }\r\n ]\r\n });\r\n table.addEventListener('click', function() {\r\n var inner = Ti.UI.createWindow({\r\n title: 'I Am Inner',\r\n rightNavButton: Ti.UI.createButton({ title: 'Do Nothing' }),\r\n backgroundColor: '#fff'\r\n });\r\n inner.add(Ti.UI.createLabel({ text: 'I Am Inner' }));\r\n tab.open(inner);\r\n });\r\n middle.add(table);\r\n tab.open(middle);\r\n});\r\n\r\ntabGroup.open();\r\n{code}\r\n\r\nh2. Error Log\r\nNothing shows up in the log about this. The only manifestation is the nav button being on the wrong window.", "attachment": [ { "id": "23046", "filename": "timob-5351.png", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2011-09-24T02:28:54.000+0000", "size": 27833, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: A Tab Bar's Child's rightNavButton Can Get Placed on Parent", "creator": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "environment": "BROKEN on iPad 1 4.3.5\r\n\r\nversion=1.8.0\r\ntimestamp=09/22/11 23:49\r\ngithash=8dba899...", "comment": { "comments": [ { "id": "166864", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "I have added a discrete reproduction, steps to reproduce, environment tested in, screenshot, and have updated the problem description. I am still able to reproduce this in 1.8.0 pulled down from CI this morning (see the environment field for details on the precise version).", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2011-09-24T02:28:54.000+0000", "updated": "2011-09-24T02:28:54.000+0000" }, { "id": "166910", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "I am no longer able to reproduce; looks good to me!", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2011-09-25T23:43:18.000+0000", "updated": "2011-09-25T23:43:18.000+0000" }, { "id": "175641", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Bug fixed. Verified on:\r\nSDK: 1.8.0.1.v20111209145039\r\nStudio: 1.0.7.201112080131\r\nOS: OS X Lion\r\nDevices Tested: iPad 4.3", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-09T17:12:38.000+0000", "updated": "2011-12-09T17:12:38.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }