[TIMOB-1159] Back button on Nav Bar does not cancel pending actions
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Low |
Status | Closed |
Resolution | Hold |
Resolution Date | 2011-04-15T02:45:29.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.6.0 M05 |
Components | iOS |
Labels | 1.3.0, backbutton, crash, design, ios, mm, navbar, release-1.6.0, tabGroup, tabgroup |
Reporter | Nick Wing |
Assignee | Reggie Seagraves |
Created | 2011-04-15T02:45:26.000+0000 |
Updated | 2017-03-03T06:44:48.000+0000 |
Description
Consider an app using a TabGroup, opening windows with Tab.open(), and setting Window.backButtonTitle. We'll nest 3 windows inside each other - call them A, B, and C. It is possible to cause strange behavior and even crash such an app:
1) starting at A, tap a button to open B
2) tap a button in B to open C
3) before C opens, tap B's back button
4) A will appear immediately
5) C will appear when it is ready
6) C's back button now leads to A
This also works if C is just a complex View. In that case C will render OVER A. In other cases C is doing something complex and the app can crash.
Expected behavior would be for C to be canceled completely after step 3 so that steps 5 & 6 above are prevented.
By the way, you won't be able to click that fast on the simulator, but with our app on an ipod touch, there is more than enough time to do it.
I had the same problem with 1.3.0, but the "1.3.1" or 1.4.0 (?) from git not produce this in my application.
I don't know if it was the same problem or not, but my app had crashed if I switched windows fast, or clicked to a not fully loaded view and back to previous window.
This is very likely a race condition which may have been solved by certain kinds of property ordering if it is no longer reproducible.
I really want to revisit this in the future of what is the 'correct' behavior. Possibly related to opening sequence
Tagged for massive meeting (MM)
This merits discussion with Jeff, after talking with Blain.
Added the design tag.
Closing ticket due to time passed and irrelevance.