diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-10-12 16:37:32 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2018-10-18 12:31:48 +0200 |
commit | 81974604d859da8365146ce126f3584d902224b8 (patch) | |
tree | 108e84b783a2a0c56d2fe37c8c801b99b8d8966d /sw | |
parent | d6da34186866aa5b373cb7ca6d22f67b36aea43c (diff) |
editeng: do not throw from QueryValue implementation
None of the other QueryValue throw; in case of a problem they return
false without initialising the Any.
On the one hand, it would be useful to throw an exception for this
special property that has now become Write-Only, so that API users
get a better hint what is going wrong; on the other hand, it breaks
various other things like the various multi-property interfaces that
call QueryValue for multiple items (there are 3 such loops in
SwAccessibleParagraph alone).
(throw was introduced in 7a8ed362eb163ac15a000ba1cfc74b58315800a1)
It turns out there is even a test for the exception on ToX.
Change-Id: Id60ff43544f7399ce869227bfd6fb933dbaea3be
Reviewed-on: https://gerrit.libreoffice.org/61719
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/unocore/unoidx.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sw/source/core/unocore/unoidx.cxx b/sw/source/core/unocore/unoidx.cxx index 1e62a996b2bf..9f2eae93fbed 100644 --- a/sw/source/core/unocore/unoidx.cxx +++ b/sw/source/core/unocore/unoidx.cxx @@ -36,6 +36,7 @@ #include <cppuhelper/supportsservice.hxx> #include <vcl/svapp.hxx> #include <editeng/unolingu.hxx> +#include <editeng/memberids.h> #include <hints.hxx> #include <cmdid.h> #include <swtypes.hxx> @@ -886,6 +887,11 @@ SwXDocumentIndex::getPropertyValue(const OUString& rPropertyName) "Unknown property: " + rPropertyName, static_cast< cppu::OWeakObject * >(this)); } + // TODO: is this the best approach to tell API clients about the change? + if (pEntry->nWID == RES_BACKGROUND && pEntry->nMemberId == MID_GRAPHIC_URL) + { + throw uno::RuntimeException("Getting GraphicURL property is not supported"); + } SwSectionFormat *const pSectionFormat( m_pImpl->GetSectionFormat() ); SwTOXBase* pTOXBase = nullptr; |