diff options
author | Tor Lillqvist <tml@collabora.com> | 2014-08-27 14:29:43 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2014-08-27 15:08:58 +0300 |
commit | 46ad54725bf28ea75278eb63dbf95c4a29618c1c (patch) | |
tree | 0f6b16b7198409e0d2c331df960101a25bcc0d6a /embeddedobj/source/inc | |
parent | b77bf9759a74454391fa5d2f4a6ec4594d6d3e89 (diff) |
bnc#648251: Avoid crash when attempting to open embedded OLE object as "text"
On non-Windows, when double-clicking an embedded OLE object, our glorious
content type detection logic detects it as "Text". As a side-effect, we start
to calculate text statistics on it. Which surely could produce interesting
numbers (you know what they say about statistics), but sadly causes a crash
involving the ICU RuleBasedBreakIterator, SwScanner,
sw::DocumentStatisticsManager and whatnot.
Avoid this by checking for a detected filter of type "Text" explicitly, and
avoiding the fun code paths in that case.
This leads to double-clicks being just ignored. Maybe it would be more useful
to produce a "General OLE Error" message box?
Change-Id: Iae0726b5e9c511a92bdff7229d2978cbf76cb07b
Diffstat (limited to 'embeddedobj/source/inc')
-rw-r--r-- | embeddedobj/source/inc/oleembobj.hxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/embeddedobj/source/inc/oleembobj.hxx b/embeddedobj/source/inc/oleembobj.hxx index 42152742a0c4..4fa109e8d9c9 100644 --- a/embeddedobj/source/inc/oleembobj.hxx +++ b/embeddedobj/source/inc/oleembobj.hxx @@ -191,6 +191,7 @@ class OleEmbeddedObject : public ::cppu::WeakImplHelper5 // if the following member is set, the object works in wrapper mode ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedObject > m_xWrappedObject; bool m_bTriedConversion; + OUString m_aFilterName; // if m_bTriedConversion, then the filter detected by that ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent; |