[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-09-12 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf |binary
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 03be54fd1cdb9319c2898100423507781d2ce7cb
Author: Caolán McNamara 
Date:   Sat Sep 10 13:46:47 2016 +0100

fftester: no table manager

Change-Id: I033454670d1ee662bc80bc07578690155d97ce28
Reviewed-on: https://gerrit.libreoffice.org/28806
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf
new file mode 100644
index 000..67a0ea1
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-6.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 6bbef8d..24049b1 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1221,7 +1221,7 @@ void DomainMapper_Impl::appendTextPortion( const 
OUString& rString, const Proper
 if( pPropertyMap == m_pTopContext && !deferredCharacterProperties.empty() 
&& (GetTopContextType() == CONTEXT_CHARACTER) )
 processDeferredCharacterProperties();
 uno::Reference< text::XTextAppend >  xTextAppend = 
m_aTextAppendStack.top().xTextAppend;
-if(xTextAppend.is() && ! getTableManager( ).isIgnore())
+if (xTextAppend.is() && hasTableManager() && !getTableManager().isIgnore())
 {
 try
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-09-12 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf |binary
 writerfilter/source/rtftok/rtfdocumentimpl.cxx   |8 

 writerfilter/source/rtftok/rtfdocumentimpl.hxx   |3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

New commits:
commit 68be1d3a8964d548a0113fe28a70e09349ddd0d7
Author: Caolán McNamara 
Date:   Sat Sep 10 11:47:16 2016 +0100

fftester: use of deleted RTFParserState

but we only use the RTFParserState to use its m_pDocumentImpl and
the m_pDocumentImpl is never changed for the RTFParserState lifetime,
so take the m_pDocumentImpl at ctor time instead and use that
directly later

Change-Id: I15152e3f6d9008553b4a384a5e5da21373904cc9
Reviewed-on: https://gerrit.libreoffice.org/28803
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf
new file mode 100644
index 000..3fe4b28
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/parser-state-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 53f3fc2..a1df2d0 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -3291,7 +3291,7 @@ RTFDrawingObject::RTFDrawingObject()
 }
 
 RTFFrame::RTFFrame(RTFParserState* pParserState)
-: m_pParserState(pParserState),
+: m_pDocumentImpl(pParserState->m_pDocumentImpl),
   m_nX(0),
   m_nY(0),
   m_nW(0),
@@ -3309,10 +3309,10 @@ RTFFrame::RTFFrame(RTFParserState* pParserState)
 
 void RTFFrame::setSprm(Id nId, Id nValue)
 {
-if (m_pParserState->m_pDocumentImpl->getFirstRun() && 
!m_pParserState->m_pDocumentImpl->isStyleSheetImport())
+if (m_pDocumentImpl->getFirstRun() && 
!m_pDocumentImpl->isStyleSheetImport())
 {
-m_pParserState->m_pDocumentImpl->checkFirstRun();
-m_pParserState->m_pDocumentImpl->setNeedPar(false);
+m_pDocumentImpl->checkFirstRun();
+m_pDocumentImpl->setNeedPar(false);
 }
 switch (nId)
 {
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 32bbe4a..062cae2 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -182,12 +182,13 @@ public:
 };
 
 class RTFParserState;
+class RTFDocumentImpl;
 
 /// Stores the properties of a frame
 class RTFFrame
 {
 private:
-RTFParserState* m_pParserState;
+RTFDocumentImpl* m_pDocumentImpl;
 sal_Int32 m_nX, m_nY, m_nW, m_nH;
 sal_Int32 m_nHoriPadding, m_nVertPadding;
 sal_Int32 m_nHoriAlign, m_nHoriAnchor, m_nVertAlign, m_nVertAnchor;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-09-06 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf |binary
 writerfilter/source/rtftok/rtfdispatchsymbol.cxx  |3 ++-
 2 files changed, 2 insertions(+), 1 deletion(-)

New commits:
commit f810ca3d93f392fe4523dd58400b79f62bf8862f
Author: Caolán McNamara 
Date:   Tue Sep 6 15:57:30 2016 +0100

fftester: missing ValueLast

Change-Id: I8e881871b1ae4dea757263d04796779e62e168dc
Reviewed-on: https://gerrit.libreoffice.org/28694
Reviewed-by: jan iversen 
Tested-by: jan iversen 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf
new file mode 100644
index 000..847e165
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/valuelist-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx 
b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
index 218810b..966a0b7 100644
--- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
@@ -243,7 +243,8 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword 
nKeyword)
 if ((m_nCellxMax - m_nTopLevelCurrentCellX) >= MINLAY)
 {
 auto pXValueLast = 
m_aStates.top().aTableRowSprms.find(NS_ooxml::LN_CT_TblGridBase_gridCol, false);
-auto pXValue = std::make_shared(pXValueLast->getInt() + 
m_nCellxMax - m_nTopLevelCurrentCellX);
+const int nXValueLast = pXValueLast ? pXValueLast->getInt() : 0;
+auto pXValue = std::make_shared(nXValueLast + 
m_nCellxMax - m_nTopLevelCurrentCellX);
 
m_aStates.top().aTableRowSprms.eraseLast(NS_ooxml::LN_CT_TblGridBase_gridCol);
 
m_aStates.top().aTableRowSprms.set(NS_ooxml::LN_CT_TblGridBase_gridCol, 
pXValue, RTFOverwrite::NO_APPEND);
 m_nTopLevelCurrentCellX = m_nCellxMax;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-09-05 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf |binary
 writerfilter/source/dmapper/PropertyMap.cxx|2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 96e76028ef33e6617d702f07a0ad4a485db50f11
Author: Caolán McNamara 
Date:   Fri Sep 2 21:12:43 2016 +0100

fftester: apparent wrong property tested for existence

Change-Id: I5d208bb2a85d7aa4eea9b1c950eeb6f35493f759
(cherry picked from commit a42f4aaba352a4d33ce77898e7b7b7bc0c10f1f8)
Reviewed-on: https://gerrit.libreoffice.org/28630
Tested-by: Jenkins 
Reviewed-by: Michael Stahl 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf
new file mode 100644
index 000..130ff3f
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/propheight-1.rtf differ
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx 
b/writerfilter/source/dmapper/PropertyMap.cxx
index 5bc56b8..ac192e6 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -1247,7 +1247,7 @@ void SectionPropertyMap::CloseSectionGroup( 
DomainMapper_Impl& rDM_Impl )
 if( pEntry.get( ) )
 {
 boost::optional pPropHeight = 
pEntry->pProperties->getProperty(PROP_CHAR_HEIGHT_ASIAN);
-if(pProp)
+if (pPropHeight)
 {
 double fHeight = 0;
 if( pPropHeight->second >>= fHeight )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-08-30 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-2.rtf |binary
 writerfilter/source/dmapper/DomainMapper.cxx   |3 ++-
 2 files changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 8cba5e9bd27c0ac92c9ea68522352551505187c6
Author: Caolán McNamara 
Date:   Sat Aug 27 13:31:14 2016 +0100

fftester: topcontext check

Change-Id: I2045ce82a1d536ab566e6a1218bea9c6a6696024
(cherry picked from commit a3d74764d89e396dd7e8e7812ea64a062d6aed85)
Reviewed-on: https://gerrit.libreoffice.org/28421
Tested-by: Jenkins 
Reviewed-by: David Tardon 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-2.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-2.rtf
new file mode 100644
index 000..c0bd269
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-2.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 8a6cf50..af0ae0a 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -276,7 +276,8 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
 m_pImpl->SetSymbolFont(sStringValue);
 break;
 case NS_ooxml::LN_CT_Underline_val:
-handleUnderlineType(nIntValue, m_pImpl->GetTopContext());
+if (m_pImpl->GetTopContext())
+handleUnderlineType(nIntValue, m_pImpl->GetTopContext());
 break;
 case NS_ooxml::LN_CT_Color_val:
 if (m_pImpl->GetTopContext())
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-08-08 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-5.rtf |binary
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|4 +---
 2 files changed, 1 insertion(+), 3 deletions(-)

New commits:
commit f6477e396da204e19a759c86c5addcc5d4f8b78b
Author: Caolán McNamara 
Date:   Sun Aug 7 16:58:22 2016 +0100

fftester: guard against empty table manager stack

Change-Id: Ibb4cadb58aa17eacfc9741f7f13c780be347cd8b
(cherry picked from commit 145e2dfc4501cb3fa01a1771cb6829b5945df4a6)
Reviewed-on: https://gerrit.libreoffice.org/27937
Tested-by: Jenkins 
Reviewed-by: David Tardon 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-5.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-5.rtf
new file mode 100644
index 000..a03be13
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/tablemanager-5.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 502f6ef..6bbef8d 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1297,7 +1297,6 @@ void DomainMapper_Impl::appendTextPortion( const 
OUString& rString, const Proper
 }
 }
 
-
 void DomainMapper_Impl::appendTextContent(
 const uno::Reference< text::XTextContent >& xContent,
 const uno::Sequence< beans::PropertyValue >& xPropertyValues
@@ -1308,7 +1307,7 @@ void DomainMapper_Impl::appendTextContent(
 return;
 uno::Reference< text::XTextAppendAndConvert >  xTextAppendAndConvert( 
m_aTextAppendStack.top().xTextAppend, uno::UNO_QUERY );
 OSL_ENSURE( xTextAppendAndConvert.is(), "trying to append a text content 
without XTextAppendAndConvert" );
-if(xTextAppendAndConvert.is() && ! getTableManager( ).isIgnore())
+if (xTextAppendAndConvert.is() && hasTableManager() && 
!getTableManager().isIgnore())
 {
 try
 {
@@ -1326,7 +1325,6 @@ void DomainMapper_Impl::appendTextContent(
 }
 }
 
-
 void DomainMapper_Impl::appendOLE( const OUString& rStreamName, const 
OLEHandlerPtr& pOLEHandler )
 {
 static const char sEmbeddedService[] = 
"com.sun.star.text.TextEmbeddedObject";
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-08-03 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf |binary
 writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf |binary
 writerfilter/source/rtftok/rtfdocumentimpl.cxx  |   45 
+-
 writerfilter/source/rtftok/rtfdocumentimpl.hxx  |6 +
 4 files changed, 29 insertions(+), 22 deletions(-)

New commits:
commit 3c5faa04ab204d39b91f43add0cffcc9ee90a94b
Author: Caolán McNamara 
Date:   Fri Jul 29 08:48:22 2016 +0100

fftester: null DestinationText

Change-Id: Icdd71733c4e9f4b36e6e957e4dea772087890faa
(cherry picked from commit 0dd22165346f4296718656d17ae98ebbfe563719)
Reviewed-on: https://gerrit.libreoffice.org/27666
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git 
a/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf
new file mode 100644
index 000..63465b0
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf differ
diff --git 
a/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf
new file mode 100644
index 000..f0152b0
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 761cf20..9dc5f79 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -189,26 +189,27 @@ static util::DateTime lcl_getDateTime(RTFParserState& 
aState)
   aState.nDay, aState.nMonth, aState.nYear, false);
 }
 
-static void lcl_DestinationToMath(OUStringBuffer& rDestinationText, 
oox::formulaimport::XmlStreamBuilder& rMathBuffer, bool& rMathNor)
+static void lcl_DestinationToMath(OUStringBuffer* pDestinationText, 
oox::formulaimport::XmlStreamBuilder& rMathBuffer, bool& rMathNor)
 {
-OUString aStr = rDestinationText.makeStringAndClear();
-if (!aStr.isEmpty())
+if (!pDestinationText)
+return;
+OUString aStr = pDestinationText->makeStringAndClear();
+if (aStr.isEmpty())
+return;
+rMathBuffer.appendOpeningTag(M_TOKEN(r));
+if (rMathNor)
 {
-rMathBuffer.appendOpeningTag(M_TOKEN(r));
-if (rMathNor)
-{
-rMathBuffer.appendOpeningTag(M_TOKEN(rPr));
-// Same as M_TOKEN(lit)
-rMathBuffer.appendOpeningTag(M_TOKEN(nor));
-rMathBuffer.appendClosingTag(M_TOKEN(nor));
-rMathBuffer.appendClosingTag(M_TOKEN(rPr));
-rMathNor = false;
-}
-rMathBuffer.appendOpeningTag(M_TOKEN(t));
-rMathBuffer.appendCharacters(aStr);
-rMathBuffer.appendClosingTag(M_TOKEN(t));
-rMathBuffer.appendClosingTag(M_TOKEN(r));
+rMathBuffer.appendOpeningTag(M_TOKEN(rPr));
+// Same as M_TOKEN(lit)
+rMathBuffer.appendOpeningTag(M_TOKEN(nor));
+rMathBuffer.appendClosingTag(M_TOKEN(nor));
+rMathBuffer.appendClosingTag(M_TOKEN(rPr));
+rMathNor = false;
 }
+rMathBuffer.appendOpeningTag(M_TOKEN(t));
+rMathBuffer.appendCharacters(aStr);
+rMathBuffer.appendClosingTag(M_TOKEN(t));
+rMathBuffer.appendClosingTag(M_TOKEN(r));
 }
 
 RTFDocumentImpl::RTFDocumentImpl(uno::Reference const& 
xContext,
@@ -1212,7 +1213,7 @@ void RTFDocumentImpl::text(OUString& rString)
 rString = rString.copy(0, rString.getLength() - 1);
 bEnd = true;
 }
-m_aStates.top().pDestinationText->append(rString);
+m_aStates.top().appendDestinationText(rString);
 if (bEnd)
 {
 // always clear, necessary in case of group-less fonttable
@@ -1318,7 +1319,7 @@ void RTFDocumentImpl::text(OUString& rString)
 case Destination::TOCENTRY:
 case Destination::PROPNAME:
 case Destination::STATICVAL:
-m_aStates.top().pDestinationText->append(rString);
+m_aStates.top().appendDestinationText(rString);
 break;
 default:
 bRet = false;
@@ -1347,7 +1348,7 @@ void RTFDocumentImpl::text(OUString& rString)
 // Don't return earlier, a bookmark start has to be in a paragraph group.
 if (m_aStates.top().eDestination == Destination::BOOKMARKSTART)
 {
-m_aStates.top().pDestinationText->append(rString);
+m_aStates.top().appendDestinationText(rString);
 return;
 }
 
@@ -1765,7 +1766,7 @@ RTFError RTFDocumentImpl::pushState()
 m_aStates.top().eRunType = RTFParserState::LOCH;
 
 if (m_aStates.top().eDestination == Destination::MR)
-lcl_DestinationToMath(*m_aStates.top().pDestinationText, 
m_aMathBuffer, m_bMathNor);
+

[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-08-03 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf |binary
 writerfilter/source/rtftok/rtfdispatchvalue.cxx   |2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)

New commits:
commit ce9bd25b4695ef28910300a48cf75c7546602e59
Author: Caolán McNamara 
Date:   Tue Aug 2 16:05:53 2016 +0100

fftester: guard against no drawing object property set

Change-Id: I51736459f9f098d9d793bff3b9a1a403962e099d
(cherry picked from commit db686815b41c52598f0952613ff8c6be34b2f0e0)
Reviewed-on: https://gerrit.libreoffice.org/27800
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf
new file mode 100644
index 000..59c3630
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdispatchvalue.cxx 
b/writerfilter/source/rtftok/rtfdispatchvalue.cxx
index 03ed971..4302f27 100644
--- a/writerfilter/source/rtftok/rtfdispatchvalue.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchvalue.cxx
@@ -1240,7 +1240,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword 
nKeyword, int nParam)
 {
 rDrawingObject.aPolyLinePoints.back().Y = 
convertTwipToMm100(nParam);
 rDrawingObject.nPolyLineCount--;
-if (rDrawingObject.nPolyLineCount == 0)
+if (rDrawingObject.nPolyLineCount == 0 && 
rDrawingObject.xPropertySet.is())
 {
 uno::Sequence< uno::Sequence 
>aPointSequenceSequence =
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-08-02 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf |binary
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|4 ++--
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit cff184a4528c9c0e7112fe6470c5c0d2d4bfe41d
Author: Caolán McNamara 
Date:   Sun Jul 31 19:58:18 2016 +0100

fftester: another table manager stack checks

and a m_xTextFactory check too

Change-Id: I9352410c42048b4dd7d6dbc3514351ab8f16790b
(cherry picked from commit 8a6b2fb5b94de43316ab3ea95ff07cf5f46b6134)
Reviewed-on: https://gerrit.libreoffice.org/27759
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf
new file mode 100644
index 000..28093f2
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 5959f6a..502f6ef 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1035,7 +1035,7 @@ void DomainMapper_Impl::finishParagraph( const 
PropertyMapPtr& pPropertyMap )
 TagLogger::getInstance().attribute("isTextAppend", 
sal_uInt32(xTextAppend.is()));
 #endif
 
-if (xTextAppend.is() && pParaContext != nullptr && 
!getTableManager().isIgnore())
+if (xTextAppend.is() && pParaContext && hasTableManager() && 
!getTableManager().isIgnore())
 {
 try
 {
@@ -4202,7 +4202,7 @@ void DomainMapper_Impl::CloseFieldCommand()
  */
 OUString aCode( pContext->GetCommand().trim() );
 // Don't waste resources on wrapping shapes inside a fieldmark.
-if (aCode != "SHAPE")
+if (aCode != "SHAPE" && m_xTextFactory.is())
 {
 xFieldInterface = 
m_xTextFactory->createInstance("com.sun.star.text.Fieldmark");
 const uno::Reference 
xTextContent(xFieldInterface, uno::UNO_QUERY_THROW);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-07-30 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf |binary
 writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf |binary
 writerfilter/source/dmapper/DomainMapper.cxx |9 
+
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|7 +--
 4 files changed, 10 insertions(+), 6 deletions(-)

New commits:
commit 4b5a90d31c9e41a4f987e6306a1f4feab10b4266
Author: Caolán McNamara 
Date:   Fri Jul 29 21:24:26 2016 +0100

fftester: another empty table manager stack

Change-Id: If3148cb6e16cff4aad28c4f86467c66ed04bcd05
(cherry picked from commit d00fc303bca7765762a602531b7d3b40ce8f1740)
Reviewed-on: https://gerrit.libreoffice.org/27703
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf
new file mode 100644
index 000..58328ed
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf
new file mode 100644
index 000..9fd5892
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 7a91ecf..8a6cf50 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -213,7 +213,7 @@ DomainMapper::~DomainMapper()
 
 void DomainMapper::lcl_attribute(Id nName, Value & val)
 {
-if (m_pImpl->getTableManager().attribute(nName, val))
+if (m_pImpl->hasTableManager() && 
m_pImpl->getTableManager().attribute(nName, val))
 return;
 
 static const int nSingleLineSpacing = 240;
@@ -414,7 +414,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
 else
 aSpacing.Height = 
sal_Int16(ConversionHelper::convertTwipToMM100( nIntValue ));
 
-if( m_pImpl->getTableManager().isInCell() )
+if (m_pImpl->hasTableManager() && 
m_pImpl->getTableManager().isInCell())
 {
 // direct formatting is applied for table cell data
 TablePropertyMapPtr pTblCellWithDirectFormatting(new 
TablePropertyMap);
@@ -443,7 +443,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
 aSpacing.Mode = style::LineSpacingMode::FIX;
 }
 
-if( m_pImpl->getTableManager().isInCell() )
+if (m_pImpl->hasTableManager() && 
m_pImpl->getTableManager().isInCell())
 {
 // If the table manager got the line rule after
 // ooxml::CT_Spacing_line, then it should get the rule
@@ -2927,7 +2927,8 @@ void DomainMapper::lcl_endShape( )
 // empty paragraph at the end of the shape text will cause problems: if
 // the shape text ends with a table, the extra paragraph will be
 // handled as an additional row of the ending table.
-m_pImpl->getTableManager().endTable();
+if (m_pImpl->hasTableManager())
+m_pImpl->getTableManager().endTable();
 
 lcl_endParagraphGroup();
 m_pImpl->PopShapeContext( );
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index ac8ea02..5959f6a 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2017,8 +2017,11 @@ void DomainMapper_Impl::UpdateEmbeddedShapeProps(const 
uno::Reference< drawing::
 
 void DomainMapper_Impl::PopShapeContext()
 {
-getTableManager().endLevel();
-popTableManager();
+if (hasTableManager())
+{
+getTableManager().endLevel();
+popTableManager();
+}
 if ( m_aAnchoredStack.size() > 0 )
 {
 // For OLE object replacement shape, the text append context was 
already removed
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-07-30 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf |binary
 writerfilter/source/dmapper/DomainMapper.cxx   |7 ---
 2 files changed, 4 insertions(+), 3 deletions(-)

New commits:
commit f6d67cd8dee9a06c221c60f2b5d926af5e46ee9a
Author: Caolán McNamara 
Date:   Sat Jul 30 19:22:15 2016 +0100

fftester: context stack check

(cherry picked from commit 2acc9d06291b3f271c2a88bb4995d52d2d8d2152)

Change-Id: I4a135a9f9ac2f16f9dab096f5c234ff1d6e5e853
Reviewed-on: https://gerrit.libreoffice.org/27730
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf
new file mode 100644
index 000..7cdb94a
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 774bfa1..7a91ecf 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3228,14 +3228,15 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, 
size_t len)
 // If the paragraph contains only the section properties and it has
 // no runs, we should not create a paragraph for it in Writer, 
unless that would remove the whole section.
 bool bRemove = !m_pImpl->GetParaChanged() && 
m_pImpl->GetParaSectpr() && !bSingleParagraph && 
!m_pImpl->GetIsDummyParaAddedForTableInSection();
-if (bRemove)
+PropertyMapPtr xContext = bRemove ? 
m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH) : PropertyMapPtr();
+if (xContext)
 {
 // tdf#97417 delete numbering of the paragraph
 // it will be deleted anyway, and the numbering would be copied
 // to the next paragraph in sw SplitNode and then be applied to
 // every following paragraph
-
m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_RULES);
-
m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_LEVEL);
+xContext->Erase(PROP_NUMBERING_RULES);
+xContext->Erase(PROP_NUMBERING_LEVEL);
 }
 m_pImpl->SetParaSectpr(false);
 
m_pImpl->finishParagraph(m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH));
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-07-28 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/fail/popstate-1.rtf |binary
 writerfilter/qa/cppunittests/rtftok/data/fail/popstate-2.rtf |1 
 writerfilter/qa/cppunittests/rtftok/testrtftok.cxx   |4 +
 writerfilter/source/rtftok/rtfdocumentimpl.hxx   |   31 +--
 4 files changed, 32 insertions(+), 4 deletions(-)

New commits:
commit d029c0346fb1d4094768dfce00b19c0c53526b04
Author: Caolán McNamara 
Date:   Thu Jul 28 13:58:33 2016 +0100

fftester: throw on empty stack access

rather than spend the rest of my life protecting each one

Change-Id: I181df33b052a0303f072ce0252d98562231569e2
(cherry picked from commit 2710211eb2333cafdb894742a8fa73fb02dc513b)

fftester: empty states stack

Change-Id: I05dfffced9a8677650a46b43f65a29e9b21c5524
(cherry picked from commit 5de2d02806669812d43e7f23db58ab7a16373ce6)

Related: tdf#75757 remove inheritance from std::deque

Change-Id: Ia50ea146052c2014ea16474186e2d15ce93581c1
(cherry picked from commit 7a887df4db129ac5222fd4068173b5a06d107a59)
Reviewed-on: https://gerrit.libreoffice.org/27639
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-1.rtf
new file mode 100644
index 000..0418917
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-2.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-2.rtf
new file mode 100644
index 000..273bb13
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/fail/popstate-2.rtf
@@ -0,0 +1 @@
+\\rttt\noTidqtpúúëdôp{\"pb18}\€p{\"ptxtbr }
diff --git a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx 
b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
index 1211037..e380728 100644
--- a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
+++ b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx
@@ -74,6 +74,10 @@ bool RtfTest::load(const OUString&,
 }
 throw;
 }
+catch (const std::exception&)
+{
+return false;
+}
 }
 
 void RtfTest::test()
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx 
b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 132df5a..d31b369 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -308,19 +308,42 @@ public:
 };
 
 /// An RTF stack is similar to std::stack, except that it has an operator[].
-struct RTFStack : public std::deque
+struct RTFStack
 {
+private:
+std::deque m_Impl;
+public:
 RTFParserState& top()
 {
-return back();
+if (m_Impl.empty())
+throw std::out_of_range("empty rtf state stack");
+return m_Impl.back();
 }
 void pop()
 {
-return pop_back();
+if (m_Impl.empty())
+throw std::out_of_range("empty rtf state stack");
+return m_Impl.pop_back();
 }
 void push(RTFParserState const& rState)
 {
-return push_back(rState);
+return m_Impl.push_back(rState);
+}
+bool empty() const
+{
+return m_Impl.empty();
+}
+size_t size() const
+{
+return m_Impl.size();
+}
+const RTFParserState& operator[](size_t nIndex) const
+{
+return m_Impl[nIndex];
+}
+RTFParserState& operator[](size_t nIndex)
+{
+return m_Impl[nIndex];
 }
 };
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - writerfilter/qa writerfilter/source

2016-07-28 Thread Caolán McNamara
 writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-1.rtf |binary
 writerfilter/source/dmapper/DomainMapper.cxx |3 +++
 2 files changed, 3 insertions(+)

New commits:
commit 15f7ad8774d51b376e40c0ee6061d02510d33e2c
Author: Caolán McNamara 
Date:   Thu Jul 28 13:49:13 2016 +0100

fftester: empty table manager stack

Change-Id: Ia7f7ace8130d5dfe290207e0cd3d2e6a43b8ab46
(cherry picked from commit df9414084b46c1712dc7151f50023438c62301e2)
Reviewed-on: https://gerrit.libreoffice.org/27631
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-1.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-1.rtf
new file mode 100644
index 000..5b34e7f
Binary files /dev/null and 
b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-1.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx 
b/writerfilter/source/dmapper/DomainMapper.cxx
index 5ee269b..774bfa1 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3200,6 +3200,9 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, 
size_t len)
 return;
 }
 
+if (!m_pImpl->hasTableManager())
+return;
+
 try
 {
 m_pImpl->getTableManager().utext(data_, len);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits