[Libreoffice-commits] core.git: sw/qa writerfilter/source
Yogesh Bharate
yogesh.bharate at synerzip.com
Tue Jul 29 07:27:42 PDT 2014
sw/qa/core/data/ooxml/pass/fdo80580.docx |binary
writerfilter/source/dmapper/DomainMapper_Impl.cxx | 5 +++--
2 files changed, 3 insertions(+), 2 deletions(-)
New commits:
commit 26b33fc2f2164481f5c423463f653012e4f4995d
Author: Yogesh Bharate <yogesh.bharate at synerzip.com>
Date: Fri Jul 25 15:54:44 2014 +0530
fdo#80580: LO crashes while opening the document on ubuntu build
Problem Description:
This issue is reproducible.
Step to reproduce :
1. Create .docx contains page break on first page.
2. Second page contains '&'(ampersand) with some character like 'x','z','#' etc.
3. Changes the size or font of '&character' which is on second page.
4. Precaution will be take all this i.e page break and '&character' contains in single paragraph'.
Solution:
Added a check for Context Type which must be CONTEXT_CHARACTER for deferring character.
Change-Id: I27989d2ca8d62fbd9efafe5ba7f4a65d56467c1e
Reviewed-on: https://gerrit.libreoffice.org/10532
Reviewed-by: LuboÅ¡ LuÅák <l.lunak at collabora.com>
Tested-by: LuboÅ¡ LuÅák <l.lunak at collabora.com>
diff --git a/sw/qa/core/data/ooxml/pass/fdo80580.docx b/sw/qa/core/data/ooxml/pass/fdo80580.docx
new file mode 100644
index 0000000..90793fe
Binary files /dev/null and b/sw/qa/core/data/ooxml/pass/fdo80580.docx differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 17cbe64..dad72fa 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1190,8 +1190,9 @@ void DomainMapper_Impl::appendTextPortion( const OUString& rString, PropertyMapP
if (m_aTextAppendStack.empty())
return;
-
- if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty())
+ // Before placing call to processDeferredCharacterProperties(), TopContextType should be CONTEXT_CHARACTER
+ // processDeferredCharacterProperties() invokes only if character inserted
+ if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty() && (GetTopContextType() == CONTEXT_CHARACTER) )
processDeferredCharacterProperties();
uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend;
if(xTextAppend.is() && ! getTableManager( ).isIgnore())
More information about the Libreoffice-commits
mailing list