include/svx/rulritem.hxx | 10 +++++ svx/source/dialog/rulritem.cxx | 5 +- sw/source/core/layout/pagechg.cxx | 2 - vcl/source/outdev/map.cxx | 2 + xmloff/source/text/txtimp.cxx | 53 +++++++++++++--------------- xmloff/source/text/txtimppr.cxx | 71 ++++++++++++++++++++------------------ xmloff/source/text/txtlists.cxx | 29 +++++---------- 7 files changed, 91 insertions(+), 81 deletions(-)
New commits: commit 52ce5239b43bf6b9ce1ceddfe90227920aa57657 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 16:42:49 2014 +0100 vcl: assert when LogicToPixel overflows Change-Id: I86d1c3e0c177c671b280c05b47312c79389884ed diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index f042168..43ed48e 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -2177,7 +2177,7 @@ void SwRootFrm::CheckViewLayout( const SwViewOption* pViewOpt, const SwRect* pVi pSh->SetFirstVisPageInvalid(); if (bOldCallbackActionEnabled) { - pSh->InvalidateWindows( SwRect( 0, 0, LONG_MAX, LONG_MAX ) ); + pSh->InvalidateWindows( SwRect( 0, 0, INT_MAX, INT_MAX ) ); pSh->GetDoc()->GetDocShell()->Broadcast(SfxSimpleHint(SFX_HINT_DOCCHANGED)); } } diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx index b8bc6c5..5117471 100644 --- a/vcl/source/outdev/map.cxx +++ b/vcl/source/outdev/map.cxx @@ -381,6 +381,8 @@ static long ImplLogicToPixel( long n, long nDPI, long nMapNum, long nMapDenom, } } else +#else + assert(n < std::numeric_limits<long>::max() / nMapNum); //detect overflows #endif { sal_Int64 n64 = n; commit d288ee633d7964cf89a32a96e6e0af8c3c3e0db9 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 16:36:45 2014 +0100 fdo#85858: svx: fix mouse dragging of table row separators in Writer Add a work-around for Writer's usage of LONG_MAX to SvxColumnDescription: on 64-bit platforms the LONG_MAX added in SwView::StateTabWin() for SID_RULER_ROWS will overflow in vcl's LogicToPixel mapping and that causes wrong positioning of the row highlight lines. Probably Writer should use something other than LONG_MAX (no reason why these types need to be bigger than 32-bit anyway) but that needs a bigger cleanup. (regression from 4c60f722afdc0be5c129ce5f5ed6786d09d0051e) Change-Id: I08147462356368d48959a85a85ef7dd8dcae0943 diff --git a/svx/source/dialog/rulritem.cxx b/svx/source/dialog/rulritem.cxx index 11efac1..f993d69 100644 --- a/svx/source/dialog/rulritem.cxx +++ b/svx/source/dialog/rulritem.cxx @@ -670,8 +670,9 @@ SvxColumnDescription::SvxColumnDescription(long start, long end, long endMin, lo nStart (start), nEnd (end), bVisible (bVis), - nEndMin (endMin), - nEndMax (endMax) + // fdo#85858 hack: clamp these to smaller value to prevent overflow + nEndMin(std::min<long>(endMin, std::numeric_limits<unsigned short>::max())), + nEndMax(std::min<long>(endMax, std::numeric_limits<unsigned short>::max())) {} bool SvxColumnDescription::operator==(const SvxColumnDescription& rCmp) const commit 19576d843af13df618bad500d2e92cf9bca0a062 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 15:14:22 2014 +0100 svx: add debug printing of SvxColumnDescription Change-Id: I009e3a506d9b3418215341cb7f3e232e7fcfa04b diff --git a/include/svx/rulritem.hxx b/include/svx/rulritem.hxx index 9671f85..a114e2a 100644 --- a/include/svx/rulritem.hxx +++ b/include/svx/rulritem.hxx @@ -146,6 +146,16 @@ struct SVX_DLLPUBLIC SvxColumnDescription long GetWidth() const; }; +template<typename charT, typename traits> +inline std::basic_ostream<charT, traits> & operator <<( + std::basic_ostream<charT, traits> & stream, SvxColumnDescription const& dsc) +{ + return stream << "{ nStart " << dsc.nStart << " nEnd " << dsc.nEnd + << " bVisible " << dsc.bVisible << " nEndMin " << dsc.nEndMin + << " nEndMax " << dsc.nEndMax << " }"; +} + + class SVX_DLLPUBLIC SvxColumnItem : public SfxPoolItem { typedef std::vector<SvxColumnDescription> SvxColumnDescriptionVector; commit 501ae485c7c5f7629f190755f8d1537cfe5a3d4d Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 14:49:20 2014 +0100 xmloff: clean up some debug printfs Change-Id: I208bbe47d1134b6a362e50d54093e6d35e85f51b diff --git a/xmloff/source/text/txtlists.cxx b/xmloff/source/text/txtlists.cxx index 912c9a5..2343364 100644 --- a/xmloff/source/text/txtlists.cxx +++ b/xmloff/source/text/txtlists.cxx @@ -76,7 +76,6 @@ XMLTextListsHelper::~XMLTextListsHelper() void XMLTextListsHelper::PushListContext( XMLTextListBlockContext *i_pListBlock) { -// fprintf(stderr, "PushListContext\n"); mListStack.push(::boost::make_tuple(i_pListBlock, static_cast<XMLTextListItemContext*>(0), static_cast<XMLNumberedParaContext*>(0))); @@ -85,7 +84,6 @@ void XMLTextListsHelper::PushListContext( void XMLTextListsHelper::PushListContext( XMLNumberedParaContext *i_pNumberedParagraph) { -// fprintf(stderr, "PushListContext(NP)\n"); mListStack.push(::boost::make_tuple( static_cast<XMLTextListBlockContext*>(0), static_cast<XMLTextListItemContext*>(0), i_pNumberedParagraph)); @@ -94,7 +92,6 @@ void XMLTextListsHelper::PushListContext( void XMLTextListsHelper::PopListContext() { assert(mListStack.size()); -// fprintf(stderr, "PopListContext\n"); if ( !mListStack.empty()) mListStack.pop(); } commit 1eb6e229892bb4248fca33259c85c8e26f527c47 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 14:48:21 2014 +0100 xmloff: replace DBG_ASSERTs in txtlists.cxx Change-Id: I0b7ab0ed27ba23f9ad924819193dd30c70e48fed diff --git a/xmloff/source/text/txtlists.cxx b/xmloff/source/text/txtlists.cxx index 27a9a1c..912c9a5 100644 --- a/xmloff/source/text/txtlists.cxx +++ b/xmloff/source/text/txtlists.cxx @@ -20,8 +20,6 @@ #include <txtlists.hxx> #include <comphelper/random.hxx> -#include <tools/debug.hxx> -#include <osl/diagnose.h> #include <tools/date.hxx> #include <tools/time.hxx> @@ -95,8 +93,7 @@ void XMLTextListsHelper::PushListContext( void XMLTextListsHelper::PopListContext() { - OSL_ENSURE(mListStack.size(), - "internal error: PopListContext: mListStack empty"); + assert(mListStack.size()); // fprintf(stderr, "PopListContext\n"); if ( !mListStack.empty()) mListStack.pop(); @@ -121,11 +118,10 @@ void XMLTextListsHelper::SetListItem( XMLTextListItemContext *i_pListItem ) { // may be cleared by ListBlockContext for upper list... if (i_pListItem) { - OSL_ENSURE(mListStack.size(), - "internal error: SetListItem: mListStack empty"); - OSL_ENSURE(mListStack.top().get<0>(), + assert(mListStack.size()); + assert(mListStack.top().get<0>() && "internal error: SetListItem: mListStack has no ListBlock"); - OSL_ENSURE(!mListStack.top().get<1>(), + assert(!mListStack.top().get<1>() && "error: SetListItem: list item already exists"); } if ( !mListStack.empty() ) { @@ -141,7 +137,7 @@ void XMLTextListsHelper::KeepListAsProcessed( const OUString& sListId, { if ( IsListProcessed( sListId ) ) { - DBG_ASSERT( false, + assert(false && "<XMLTextListsHelper::KeepListAsProcessed(..)> - list id already added" ); return; } @@ -345,13 +341,13 @@ XMLTextListsHelper::GetNumberedParagraphListId( const OUString& i_StyleName) { if (i_StyleName.isEmpty()) { - OSL_FAIL("invalid numbered-paragraph: no style-name"); + SAL_INFO("xmloff.text", "invalid numbered-paragraph: no style-name"); } if (!i_StyleName.isEmpty() && (i_Level < mLastNumberedParagraphs.size()) && (mLastNumberedParagraphs[i_Level].first == i_StyleName) ) { - OSL_ENSURE(!mLastNumberedParagraphs[i_Level].second.isEmpty(), + assert(!mLastNumberedParagraphs[i_Level].second.isEmpty() && "internal error: numbered-paragraph style-name but no list-id?"); return mLastNumberedParagraphs[i_Level].second; } else { @@ -363,7 +359,7 @@ static void ClampLevel(uno::Reference<container::XIndexReplace> const& i_xNumRules, sal_Int16 & io_rLevel) { - OSL_ENSURE(i_xNumRules.is(), "internal error: ClampLevel: NumRules null"); + assert(i_xNumRules.is()); if (i_xNumRules.is()) { const sal_Int32 nLevelCount( i_xNumRules->getCount() ); if ( io_rLevel >= nLevelCount ) { @@ -378,8 +374,8 @@ XMLTextListsHelper::EnsureNumberedParagraph( const OUString& i_ListId, sal_Int16 & io_rLevel, const OUString& i_StyleName) { - OSL_ENSURE(!i_ListId.isEmpty(), "invalid ListId"); - OSL_ENSURE(io_rLevel >= 0, "invalid Level"); + assert(!i_ListId.isEmpty()); + assert(io_rLevel >= 0); NumParaList_t & rNPList( mNPLists[i_ListId] ); const OUString none; // default if ( rNPList.empty() ) { @@ -488,7 +484,7 @@ XMLTextListsHelper::MakeNumRule( xNumRules = SvxXMLListStyleContext::CreateNumRule( i_rImport.GetModel() ); - DBG_ASSERT( xNumRules.is(), "got no numbering rule" ); + assert(xNumRules.is()); if ( !xNumRules.is() ) return xNumRules; commit c0ab2172fc262ea506594f14f513d14597a65221 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 14:47:53 2014 +0100 xmloff: replace DBG_ASSERTs in txtimppr.cxx Also tweak some of the assertions so they don't fire for character borders. Change-Id: Id63631864ab3e5f0366a514adc1ff73f01f57a84 diff --git a/xmloff/source/text/txtimppr.cxx b/xmloff/source/text/txtimppr.cxx index 11b00e4..ef38374 100644 --- a/xmloff/source/text/txtimppr.cxx +++ b/xmloff/source/text/txtimppr.cxx @@ -17,8 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <tools/debug.hxx> -#include <osl/diagnose.h> #include <osl/thread.h> #include <com/sun/star/awt/FontFamily.hpp> #include <com/sun/star/awt/FontPitch.hpp> @@ -58,7 +56,7 @@ bool XMLTextImportPropertyMapper::handleSpecialItem( case CTF_FONTNAME_CTL: if( GetImport().GetFontDecls() != NULL ) { - DBG_ASSERT( + assert(( ( CTF_FONTFAMILYNAME == getPropertySetMapper()->GetEntryContextId(nIndex+1) && CTF_FONTSTYLENAME == @@ -88,8 +86,8 @@ bool XMLTextImportPropertyMapper::handleSpecialItem( CTF_FONTPITCH_CTL == getPropertySetMapper()->GetEntryContextId(nIndex+4) && CTF_FONTCHARSET_CTL == - getPropertySetMapper()->GetEntryContextId(nIndex+5) ), - "illegal property map" ); + getPropertySetMapper()->GetEntryContextId(nIndex+5) ) + ) && "illegal property map" ); GetImport().GetFontDecls()->FillProperties( rValue, rProperties, @@ -197,11 +195,10 @@ void XMLTextImportPropertyMapper::FontDefaultsCheck( if( !pFontStyleName ) { aAny <<= sEmpty; - #ifdef DBG_UTIL + #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pFontFamilyName->mnIndex + 1 ); - DBG_ASSERT( nTmp == CTF_FONTSTYLENAME || nTmp == CTF_FONTSTYLENAME_CJK || nTmp == CTF_FONTSTYLENAME_CTL, - "wrong property context id" ); + assert(nTmp == CTF_FONTSTYLENAME || nTmp == CTF_FONTSTYLENAME_CJK || nTmp == CTF_FONTSTYLENAME_CTL); #endif *ppNewFontStyleName = new XMLPropertyState( pFontFamilyName->mnIndex + 1, aAny ); @@ -211,11 +208,10 @@ void XMLTextImportPropertyMapper::FontDefaultsCheck( { aAny <<= (sal_Int16)com::sun::star::awt::FontFamily::DONTKNOW; - #ifdef DBG_UTIL + #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pFontFamilyName->mnIndex + 2 ); - DBG_ASSERT( nTmp == CTF_FONTFAMILY || nTmp == CTF_FONTFAMILY_CJK || nTmp == CTF_FONTFAMILY_CTL, - "wrong property context id" ); + assert(nTmp == CTF_FONTFAMILY || nTmp == CTF_FONTFAMILY_CJK || nTmp == CTF_FONTFAMILY_CTL); #endif *ppNewFontFamily = new XMLPropertyState( pFontFamilyName->mnIndex + 2, aAny ); @@ -224,11 +220,10 @@ void XMLTextImportPropertyMapper::FontDefaultsCheck( if( !pFontPitch ) { aAny <<= (sal_Int16)com::sun::star::awt::FontPitch::DONTKNOW; - #ifdef DBG_UTIL + #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pFontFamilyName->mnIndex + 3 ); - DBG_ASSERT( nTmp == CTF_FONTPITCH || nTmp == CTF_FONTPITCH_CJK || nTmp == CTF_FONTPITCH_CTL, - "wrong property context id" ); + assert(nTmp == CTF_FONTPITCH || nTmp == CTF_FONTPITCH_CJK || nTmp == CTF_FONTPITCH_CTL); #endif *ppNewFontPitch = new XMLPropertyState( pFontFamilyName->mnIndex + 3, aAny ); @@ -237,11 +232,10 @@ void XMLTextImportPropertyMapper::FontDefaultsCheck( if( !pFontCharSet ) { aAny <<= (sal_Int16)osl_getThreadTextEncoding(); - #ifdef DBG_UTIL + #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pFontFamilyName->mnIndex + 4 ); - DBG_ASSERT( nTmp == CTF_FONTCHARSET || nTmp == CTF_FONTCHARSET_CJK || nTmp == CTF_FONTCHARSET_CTL, - "wrong property context id" ); + assert(nTmp == CTF_FONTCHARSET || nTmp == CTF_FONTCHARSET_CJK || nTmp == CTF_FONTCHARSET_CTL); #endif *ppNewFontCharSet = new XMLPropertyState( pFontFamilyName->mnIndex + 4, aAny ); @@ -282,19 +276,27 @@ static void lcl_SeparateBorder( XMLPropertyState* pAllBorder, XMLPropertyState* pBorders[4], XMLPropertyState* pNewBorders[4], XMLPropertyState* pAllBorderWidth, XMLPropertyState* pBorderWidths[4] -#ifdef DBG_UTIL +#if OSL_DEBUG_LEVEL > 0 , const rtl::Reference< XMLPropertySetMapper >& rMapper #endif ) { if( pAllBorderDistance && !pBorderDistances[nIndex] ) { -#ifdef DBG_UTIL +#if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = rMapper->GetEntryContextId( pAllBorderDistance->mnIndex + nIndex + 1 ); - DBG_ASSERT( nTmp >= CTF_LEFTBORDERDISTANCE && - nTmp <= CTF_BOTTOMBORDERDISTANCE, - "wrong property context id" ); + if (CTF_CHARALLBORDERDISTANCE == + rMapper->GetEntryContextId(pAllBorderDistance->mnIndex)) + { + assert(nTmp >= CTF_CHARLEFTBORDERDISTANCE && + nTmp <= CTF_CHARBOTTOMBORDERDISTANCE); + } + else + { + assert(nTmp >= CTF_LEFTBORDERDISTANCE && + nTmp <= CTF_BOTTOMBORDERDISTANCE); + } #endif pNewBorderDistances[nIndex] = new XMLPropertyState( pAllBorderDistance->mnIndex + nIndex + 1, @@ -303,11 +305,18 @@ static void lcl_SeparateBorder( } if( pAllBorder && !pBorders[nIndex] ) { -#ifdef DBG_UTIL +#if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = rMapper->GetEntryContextId( pAllBorder->mnIndex + nIndex + 1 ); - DBG_ASSERT( nTmp >= CTF_LEFTBORDER && nTmp <= CTF_BOTTOMBORDER, - "wrong property context id" ); + if (CTF_CHARALLBORDER == + rMapper->GetEntryContextId(pAllBorder->mnIndex)) + { + assert(nTmp >= CTF_CHARLEFTBORDER && nTmp <= CTF_CHARBOTTOMBORDER); + } + else + { + assert(nTmp >= CTF_LEFTBORDER && nTmp <= CTF_BOTTOMBORDER); + } #endif pNewBorders[nIndex] = new XMLPropertyState( pAllBorder->mnIndex + nIndex + 1, pAllBorder->maValue ); @@ -531,9 +540,8 @@ void XMLTextImportPropertyMapper::finished( #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pAllParaMargin->mnIndex + (2*i) + 2 ); - OSL_ENSURE( nTmp >= CTF_PARALEFTMARGIN && - nTmp <= CTF_PARABOTTOMMARGIN_REL, - "wrong property context id" ); + assert(nTmp >= CTF_PARALEFTMARGIN && + nTmp <= CTF_PARABOTTOMMARGIN_REL); #endif pNewParaMargins[i].reset(new XMLPropertyState( pAllParaMargin->mnIndex + (2*i) + 2, pAllParaMargin->maValue)); @@ -543,8 +551,7 @@ void XMLTextImportPropertyMapper::finished( #if OSL_DEBUG_LEVEL > 0 sal_Int16 nTmp = getPropertySetMapper()->GetEntryContextId( pAllMargin->mnIndex + i + 1 ); - OSL_ENSURE( nTmp >= CTF_MARGINLEFT && nTmp <= CTF_MARGINBOTTOM, - "wrong property context id" ); + assert(nTmp >= CTF_MARGINLEFT && nTmp <= CTF_MARGINBOTTOM); #endif pNewMargins[i].reset(new XMLPropertyState( pAllMargin->mnIndex + i + 1, pAllMargin->maValue)); @@ -554,7 +561,7 @@ void XMLTextImportPropertyMapper::finished( i, pAllBorderDistance, pBorderDistances, pNewBorderDistances, pAllBorder, pBorders, pNewBorders, pAllBorderWidth, pBorderWidths -#ifdef DBG_UTIL +#if OSL_DEBUG_LEVEL > 0 , getPropertySetMapper() #endif ); @@ -563,7 +570,7 @@ void XMLTextImportPropertyMapper::finished( i, pCharAllBorderDistance, pCharBorderDistances, pCharNewBorderDistances, pCharAllBorder, pCharBorders, pCharNewBorders, pCharAllBorderWidth, pCharBorderWidths -#ifdef DBG_UTIL +#if OSL_DEBUG_LEVEL > 0 , getPropertySetMapper() #endif ); commit 7501084112d414688456d6129047b7c1976b7928 Author: Michael Stahl <mst...@redhat.com> Date: Tue Nov 25 14:47:32 2014 +0100 xmloff: replace DBG_ASSERTs in txtimp.cxx Change-Id: I7f3ed82652e98da767cf7021bc5fc42e31e80b73 diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx index d70efff..efc6ca9 100644 --- a/xmloff/source/text/txtimp.cxx +++ b/xmloff/source/text/txtimp.cxx @@ -34,8 +34,6 @@ #include <xmloff/xmlnmspe.hxx> #include <xmloff/txtstyli.hxx> #include <xmloff/xmlnumi.hxx> -#include <tools/debug.hxx> -#include <osl/diagnose.h> #include <xmloff/maptype.hxx> #include "txtparai.hxx" @@ -919,7 +917,7 @@ XMLTextImportHelper::XMLTextImportHelper( OUString sListId; xNumRuleProps->getPropertyValue(s_PropNameDefaultListId) >>= sListId; - DBG_ASSERT( !sListId.isEmpty(), + assert( !sListId.isEmpty() && "no default list id found at chapter numbering rules instance. Serious defect -> please inform OD." ); if ( !sListId.isEmpty() ) { @@ -1097,8 +1095,8 @@ bool XMLTextImportHelper::HasFrameByName( const OUString& rName ) const void XMLTextImportHelper::InsertString( const OUString& rChars ) { - DBG_ASSERT(m_pImpl->m_xText.is(), "no text"); - DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); + assert(m_pImpl->m_xText.is()); + assert(m_pImpl->m_xCursorAsRange.is()); if (m_pImpl->m_xText.is()) { m_pImpl->m_xText->insertString(m_pImpl->m_xCursorAsRange, @@ -1109,8 +1107,8 @@ void XMLTextImportHelper::InsertString( const OUString& rChars ) void XMLTextImportHelper::InsertString( const OUString& rChars, bool& rIgnoreLeadingSpace ) { - DBG_ASSERT(m_pImpl->m_xText.is(), "no text"); - DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); + assert(m_pImpl->m_xText.is()); + assert(m_pImpl->m_xCursorAsRange.is()); if (m_pImpl->m_xText.is()) { sal_Int32 nLen = rChars.getLength(); @@ -1142,8 +1140,8 @@ void XMLTextImportHelper::InsertString( const OUString& rChars, void XMLTextImportHelper::InsertControlCharacter( sal_Int16 nControl ) { - DBG_ASSERT(m_pImpl->m_xText.is(), "no text"); - DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); + assert(m_pImpl->m_xText.is()); + assert(m_pImpl->m_xCursorAsRange.is()); if (m_pImpl->m_xText.is()) { m_pImpl->m_xText->insertControlCharacter( @@ -1154,8 +1152,8 @@ void XMLTextImportHelper::InsertControlCharacter( sal_Int16 nControl ) void XMLTextImportHelper::InsertTextContent( Reference < XTextContent > & xContent ) { - DBG_ASSERT(m_pImpl->m_xText.is(), "no text"); - DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); + assert(m_pImpl->m_xText.is()); + assert(m_pImpl->m_xCursorAsRange.is()); if (m_pImpl->m_xText.is()) { try { @@ -1169,9 +1167,9 @@ void XMLTextImportHelper::InsertTextContent( void XMLTextImportHelper::DeleteParagraph() { - DBG_ASSERT(m_pImpl->m_xText.is(), "no text"); - DBG_ASSERT(m_pImpl->m_xCursor.is(), "no cursor"); - DBG_ASSERT(m_pImpl->m_xCursorAsRange.is(), "no range"); + assert(m_pImpl->m_xText.is()); + assert(m_pImpl->m_xCursor.is()); + assert(m_pImpl->m_xCursorAsRange.is()); bool bDelete = true; Reference < XEnumerationAccess > const xEnumAccess( @@ -1179,11 +1177,12 @@ void XMLTextImportHelper::DeleteParagraph() if( xEnumAccess.is() ) { Reference < XEnumeration > xEnum(xEnumAccess->createEnumeration()); - DBG_ASSERT( xEnum->hasMoreElements(), "empty text enumeration" ); + SAL_WARN_IF(!xEnum->hasMoreElements(), "xmloff.text", + "empty text enumeration"); if( xEnum->hasMoreElements() ) { Reference < XComponent > xComp( xEnum->nextElement(), UNO_QUERY ); - DBG_ASSERT( xComp.is(), "got no component" ); + assert(xComp.is()); if( xComp.is() ) { xComp->dispose(); @@ -1480,7 +1479,7 @@ OUString XMLTextImportHelper::SetStyleAndAttrs( GetTextListHelper().ListContextTop( pListBlock, pListItem, pNumberedParagraph); - OSL_ENSURE(!(pListBlock && pNumberedParagraph), "XMLTextImportHelper::" + assert(!(pListBlock && pNumberedParagraph) && "XMLTextImportHelper::" "SetStyleAndAttrs: both list and numbered-paragraph???"); Reference < XIndexReplace > xNewNumRules; @@ -1619,11 +1618,6 @@ OUString XMLTextImportHelper::SetStyleAndAttrs( sal_Int32 nUPD( 0 ); sal_Int32 nBuild( 0 ); const bool bBuildIdFound = rImport.getBuildIds( nUPD, nBuild ); - DBG_ASSERT( ( bBuildIdFound && nUPD == 680 ) || - !pStyle || - !pStyle->IsListStyleSet() || - pStyle->GetListStyle().isEmpty(), - "automatic paragraph style with list style name, but paragraph not in list???" ); if ( ( bBuildIdFound && nUPD == 680 ) || !pStyle || !pStyle->IsListStyleSet() ) { @@ -1641,6 +1635,12 @@ OUString XMLTextImportHelper::SetStyleAndAttrs( } } } + else + { + SAL_INFO_IF(!pStyle->GetListStyle().isEmpty(), + "xmloff.text", + "automatic paragraph style with list style name, but paragraph not in list???"); + } if ( bRemove ) { xPropSet->setPropertyValue( s_NumberingRules, Any() ); @@ -2566,8 +2566,7 @@ void XMLTextImportHelper::popFieldCtx() void XMLTextImportHelper::addFieldParam( const OUString& name, const OUString& value ) { - DBG_ASSERT(!m_pImpl->m_FieldStack.empty(), - "stack is empty: not good! Do a pushFieldCtx before..."); + assert(!m_pImpl->m_FieldStack.empty()); if (!m_pImpl->m_FieldStack.empty()) { Impl::field_stack_item_t & FieldStackItem(m_pImpl->m_FieldStack.top()); FieldStackItem.second.push_back(Impl::field_param_t( name, value )); @@ -2576,8 +2575,7 @@ void XMLTextImportHelper::addFieldParam( const OUString& name, const OUString& v OUString XMLTextImportHelper::getCurrentFieldType() { - DBG_ASSERT(!m_pImpl->m_FieldStack.empty(), - "stack is empty: not good! Do a pushFieldCtx before..."); + assert(!m_pImpl->m_FieldStack.empty()); if (!m_pImpl->m_FieldStack.empty()) { return m_pImpl->m_FieldStack.top().first.second; @@ -2595,8 +2593,7 @@ bool XMLTextImportHelper::hasCurrentFieldCtx() void XMLTextImportHelper::setCurrentFieldParamsTo(::com::sun::star::uno::Reference< ::com::sun::star::text::XFormField> &xFormField) { - DBG_ASSERT(!m_pImpl->m_FieldStack.empty(), - "stack is empty: not good! Do a pushFieldCtx before..."); + assert(!m_pImpl->m_FieldStack.empty()); if (!m_pImpl->m_FieldStack.empty() && xFormField.is()) { FieldParamImporter(&m_pImpl->m_FieldStack.top().second, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits