Menu

#183 Keep state = 'NO' shows no databases

iphone_1.4
closed
7
2010-01-10
2009-10-18
No

When I set the 'keep state' button in the application preferences to 'OFF', the database list appears empty.
After exit and another restart the list is visible again (note that the 'keep state' button is internally set to 'ON' in this case).
The probable reason for this behavior is that the order of the list is part of the state, and that the dbOverview accesses the databases *only* via this order.

This issue is regarded as high prio for two reasons:
(a) the user will be afraid that his databases are lost
(b) if he then creates them again, the originals might be overwritten

Discussion

  • Christa Runge

    Christa Runge - 2009-10-18

    Note: I found this on the simulator with svn 1546.

     
  • Christa Runge

    Christa Runge - 2010-01-09
    • assigned_to: nobody --> ndegendogo
     
  • Christa Runge

    Christa Runge - 2010-01-10

    Debugging and initial analysis (svn 1877): What exactly happens with 'keep state' = OFF? (Note: this switch was meanwhile renamed to Application Reset).
    - [DBOverview initWithContentManager] allocates the dbDescriptorTable as usual
    - then it scans all db files in a loop (pattern on the file name) and adds all to the dbDescriptorTable. The table is then filled as expected.
    - now the navigation controller is constructed together with the db list view controller
    - the startup begins; during startup, the DBListViewController loads its view; the db descriptor table is still filled.
    - after startup follows the persistence processing. It finds the 'application reset' and kills the persistent state as expected.
    - as a consequence, it skips the chain of persistence, which contains a ReloadData message.

     
  • Christa Runge

    Christa Runge - 2010-01-10
    • status: open --> closed
     
  • Christa Runge

    Christa Runge - 2010-01-10

    resolved in svn 1879.

    Detailed analysis:
    The user-defined order of the list of databases is stored in the persistent data. It is loaded and activated at the end of startup.
    The DBListViewController loads its view before this, but postpones showing the list, because the order is not known at this time.
    Later it loads the order of list and displays the list same function; but this function is skipped after application reset.

     

Log in to post a comment.