Apple g++ 4.0.1 erroneously believes that it is ambiguous to use
WeakReference<XInterface>::operator=(Reference<XInterface>).
as a workaround, introduce WeakReferenceHelper::clear(), and fix all users.
For the moment, the document only stores and loads itself, as before.
In this course, the AutoRecovery service now delegates the decision whether or not a document
needs to be stored (to the "salvage location") to the document itself, using the new method
XDocumentRecovery::wasModifiedSinceLastSave, superseded the previous E_MODIFIED_SINCE_LAST_AUTOSAVE
flag.
XDocumentRecovery::wasModifiedSinceLastSave has been implemented for SfxBaseModel, yielding the same
behavior as before.
It has also been implemented for database documents, where the implementation is somewhat "sloppy",
in that it returns always <TRUE/> when any of the opened sub components of the document is modified.
For this purpose, the SFX document factory methods got an additional parameter respectively flag
("DocumentRecoverySupport" resp. SFXMODEL_DISABLE_DOCUMENT_RECOVERY). This flag is used by database
documents to remove the interface from sub documents (aka forms/reports).
In this course, some of the functionality around those SFXMODELL_* flags, previously duplicated in
all applications, has been consolidated into a new SfxObjectShell constructor.
* ran autoconf, to get the --enable-extra-presenter-ui option
* fixed thinko when selecting eraser width (slideshow was switching
to eraser mode then, but context menu stayed at pen)
As a consequence, replace some occurences of SfxFrame with XFrame.
This allows getting rid of yet some more Sfx code in the (SFX) doc loader. Also, it prevents premature
creations of SfxFrame instances during loading, since now the frame is really created when it is needed only.