autorecovery: save/recover forms and reports

Still some lose ends. Most notably, the current code contains cases for other sub component types,
but has no real implementation - attempting to save/recover those other types will yield multiple
assertions only. Also, recovery of SRB-reports has not been tested, yet, chances are good there's
some work ahead here.

Other known open issues:
- recovering sub components immediately shows them, instead of initially hiding them, and showing
  only when the main document window is shown
- the implementation currently is no real session save, which would require saving information about
  *unmodified* open sub components (though not their actual content), and restoring them upon
  recovery.
- doing an implicit "connect" at the controller of the to-be-recovered database document is a requirement
  to actually load the sub components, but might yield problems in case this requires interaction
  (e.g. a login). Need to investigate
- the "recovery" storage is not removed from the database document storage after un/successful recovery
- cancelling the recovery of a "modified" database document always suggests to store this doc somewhere
This commit is contained in:
Frank Schoenheit [fs]
2010-01-15 15:21:15 +01:00
parent 216cc35f85
commit d0e9f1f751
4 changed files with 41 additions and 17 deletions

View File

@@ -646,7 +646,8 @@ void SAL_CALL OCommonEmbeddedObject::close( sal_Bool bDeliverOwnership )
} catch ( uno::Exception& ) {}
}
m_xObjectStorage = uno::Reference< embed::XStorage >();
m_xObjectStorage.clear();
m_xObjectLoadStorage.clear();
}
m_bClosed = sal_True; // the closing succeeded