[REVIEW-3-5] [REVIEW-3-5-4] Re: [Libreoffice-commits]
Stephan Bergmann
sbergman at redhat.com
Wed May 16 00:47:26 PDT 2012
Following up on the auto-healing attempt of
<https://bugs.freedesktop.org/show_bug.cgi?id=46074#c59> "FILEOPEN: No
Recent Documents...",
<https://bugs.freedesktop.org/show_bug.cgi?id=49948> "FILEOPEN: No
recent documents" revealed a further problem that can still prevent
auto-healing of the Recent Documents list in LO 3.5.3 and that requires
the below fix.
Please review and consider for backporting to libreoffice-3-5 and
libreoffice-3-5-4.
Thanks,
Stephan
On 05/16/2012 09:37 AM, Stephan Bergmann wrote:
> commit e3633f60b349022994e291aa3d1a0c90c3403b2e
> Author: Stephan Bergmann<sbergman at redhat.com>
> Date: Wed May 16 09:32:51 2012 +0200
>
> fdo#46074 fdo#49948 Ignore corrupted items in Recent Documents
>
> ...following up on 4ccb4bda483eb548eb6efb5e2f1952f094522320 "fdo#46074 Ignore
> corrupted items in Recent Documents" with another problematic scenario found
> with fdo#49948.
>
> Change-Id: I3e7c803813f09c1f031defc2c18cfab6732b1621
>
> diff --git a/unotools/source/config/historyoptions.cxx b/unotools/source/config/historyoptions.cxx
> index e681395..93d5854 100644
> --- a/unotools/source/config/historyoptions.cxx
> +++ b/unotools/source/config/historyoptions.cxx
> @@ -533,7 +533,23 @@ void SvtHistoryOptions_Impl::AppendItem( EHistoryType eHistory ,
> ::rtl::OUString sRemove;
> xOrderList->getByName(::rtl::OUString::valueOf(nLength-1))>>= xSet;
> xSet->getPropertyValue(sHistoryItemRef)>>= sRemove;
> - xItemList->removeByName(sRemove);
> + try
> + {
> + xItemList->removeByName(sRemove);
> + }
> + catch (css::container::NoSuchElementException&)
> + {
> + //<https://bugs.freedesktop.org/show_bug.cgi?id=46074>
> + // "FILEOPEN: No Recent Documents..." discusses a problem
> + // with corrupted /org.openoffice.Office/Histories/Histories
> + // configuration items; to work around that problem, simply
> + // ignore such corrupted individual items here, so that at
> + // least newly added items are successfully added:
> + if (!sRemove.isEmpty())
> + {
> + throw;
> + }
> + }
> }
> if ( nLength != nMaxSize )
> {
More information about the LibreOffice
mailing list