svtools/source/brwbox/datwin.cxx | 3 + svtools/source/contnr/templwin.cxx | 3 - svtools/source/svhtml/parhtml.cxx | 1 sw/inc/IDocumentContentOperations.hxx | 2 sw/inc/doc.hxx | 5 + sw/source/core/doc/doclay.cxx | 94 ++++++++++++++++++---------------- sw/source/core/frmedt/fecopy.cxx | 7 +- sw/source/core/frmedt/fefly1.cxx | 2 sw/source/core/unocore/unodraw.cxx | 2 sw/source/filter/html/htmldraw.cxx | 2 sw/source/filter/ww8/ww8graf.cxx | 4 - sw/source/filter/ww8/ww8graf2.cxx | 2 sw/source/filter/ww8/ww8par4.cxx | 2 vcl/source/filter/wmf/winmtf.hxx | 13 ++-- 14 files changed, 79 insertions(+), 63 deletions(-)
New commits: commit 14a502e4988574e4c56d2653d2170e1b14576d4d Author: Caolán McNamara <[email protected]> Date: Wed Feb 19 12:54:17 2014 +0000 coverity#738857 Uninitialized scalar field Change-Id: Ic82e559e9b7ca31fa6d9b5ff1d1fc5ae3fac9b88 diff --git a/svtools/source/brwbox/datwin.cxx b/svtools/source/brwbox/datwin.cxx index 5c6c288..5d81568 100644 --- a/svtools/source/brwbox/datwin.cxx +++ b/svtools/source/brwbox/datwin.cxx @@ -197,7 +197,10 @@ BrowserDataWin::BrowserDataWin( BrowseBox* pParent ) ,bNoScrollBack( false ) ,bNoHScroll( false ) ,bNoVScroll( false ) + ,bAutoHScroll(false) + ,bAutoVScroll(false) ,bUpdateMode( true ) + ,bAutoSizeLastCol(false) ,bResizeOnPaint( false ) ,bUpdateOnUnlock( false ) ,bInUpdateScrollbars( false ) commit b0e1a3f962adbf4e0f127b3102b88e04f2f3d9de Author: Caolán McNamara <[email protected]> Date: Wed Feb 19 12:42:17 2014 +0000 coverity#738860 Uninitialized scalar field Change-Id: I968c9f10d426b90e6883e7a0ff1387187d97dcd2 diff --git a/svtools/source/contnr/templwin.cxx b/svtools/source/contnr/templwin.cxx index 41e2f51..8674c24 100644 --- a/svtools/source/contnr/templwin.cxx +++ b/svtools/source/contnr/templwin.cxx @@ -586,7 +586,8 @@ OUString SvtDocInfoTable_Impl::GetString( long nId ) const // class SvtFrameWindow_Impl --------------------------------------------- SvtFrameWindow_Impl::SvtFrameWindow_Impl( Window* pParent ) - : Window( pParent ) + : Window(pParent) + , bDocInfo(false) { // create windows and frame pEditWin = new ODocumentInfoPreview( this ,WB_LEFT | WB_VSCROLL | WB_READONLY | WB_BORDER | WB_3DLOOK); commit 2b2a3ed37358cab49933a218c8a8544be03fba22 Author: Caolán McNamara <[email protected]> Date: Wed Feb 19 12:41:22 2014 +0000 coverity#738862 Uninitialized scalar field Change-Id: Ib970ef372e7754db890b5a4cd9c9b422a129ba02 diff --git a/vcl/source/filter/wmf/winmtf.hxx b/vcl/source/filter/wmf/winmtf.hxx index e094c54..c200907 100644 --- a/vcl/source/filter/wmf/winmtf.hxx +++ b/vcl/source/filter/wmf/winmtf.hxx @@ -337,18 +337,18 @@ typedef enum { struct WinMtfFillStyle { Color aFillColor; - sal_Bool bTransparent; + bool bTransparent; WinMtfFillStyleType aType; Bitmap aBmp; WinMtfFillStyle() : aFillColor(Color(COL_BLACK)) - , bTransparent(sal_False) + , bTransparent(false) , aType(FillStyleSolid) { } - WinMtfFillStyle( const Color& rColor, sal_Bool bTrans = sal_False ) + WinMtfFillStyle(const Color& rColor, bool bTrans = false) : aFillColor(rColor) , bTransparent(bTrans) , aType(FillStyleSolid) @@ -356,19 +356,20 @@ struct WinMtfFillStyle } WinMtfFillStyle(Bitmap& rBmp) - : aType(FillStylePattern) + : bTransparent(false) + , aType(FillStylePattern) , aBmp(rBmp) { } - sal_Bool operator==( const WinMtfFillStyle& rStyle ) + bool operator==( const WinMtfFillStyle& rStyle ) { return ( ( aFillColor == rStyle.aFillColor ) && ( bTransparent == rStyle.bTransparent ) && ( aType == rStyle.aType ) ); } - sal_Bool operator==( WinMtfFillStyle* pStyle ) + bool operator==( WinMtfFillStyle* pStyle ) { return ( ( aFillColor == pStyle->aFillColor ) && ( bTransparent == pStyle->bTransparent ) commit 85f48b1b47903b41ebaa4b432e756833a5e92e45 Author: Caolán McNamara <[email protected]> Date: Wed Feb 19 12:38:35 2014 +0000 coverity#738865 Uninitialized scalar field Change-Id: Ie6473e4a8c4b311b6862019046fb4ae9cf05e1fb diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx index 942e881..6517e5c 100644 --- a/svtools/source/svhtml/parhtml.cxx +++ b/svtools/source/svhtml/parhtml.cxx @@ -296,6 +296,7 @@ HTMLParser::HTMLParser( SvStream& rIn, bool bReadNewDoc ) : bPre_IgnoreNewPara(false), bReadNextChar(false), bReadComment(false), + nPre_LinePos(0), mnPendingOffToken(0) { //#i76649, default to UTF-8 for HTML unless we know differently commit 58e7439c396ba8d449e32db9afd8f3f71acc071b Author: Oliver-Rainer Wittmann <[email protected]> Date: Tue Feb 18 11:47:13 2014 +0000 Resolves: #i124188# assure correct insertion of text attribute... for as-character anchored drawing objects Thx to Andre for his deep analysis. (cherry picked from commit 28c0c081d07e5a49ccd238e7f4e882347ab3690c) Conflicts: sw/source/core/doc/doclay.cxx sw/source/core/frmedt/fecopy.cxx sw/source/filter/rtf/swparrtf.cxx Change-Id: I73c4d3d6e3cd8e7079fe88b6baa5eaea52a89dd9 diff --git a/sw/inc/IDocumentContentOperations.hxx b/sw/inc/IDocumentContentOperations.hxx index 7fd45f7..5768460 100644 --- a/sw/inc/IDocumentContentOperations.hxx +++ b/sw/inc/IDocumentContentOperations.hxx @@ -125,7 +125,7 @@ public: /** Insert a DrawObject. The object must be already registered in DrawModel. */ - virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*) = 0; + virtual SwDrawFrmFmt* InsertDrawObj( const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet& rFlyAttrSet ) = 0; /** Insert OLE-objects. */ diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx index e0eec09..995f2ea 100644 --- a/sw/inc/doc.hxx +++ b/sw/inc/doc.hxx @@ -877,7 +877,10 @@ public: const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*); virtual SwFlyFrmFmt* Insert(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*); - virtual SwDrawFrmFmt* Insert(const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet* pFlyAttrSet, SwFrmFmt*); + virtual SwDrawFrmFmt* InsertDrawObj( + const SwPaM &rRg, + SdrObject& rDrawObj, + const SfxItemSet& rFlyAttrSet ); virtual SwFlyFrmFmt* Insert(const SwPaM &rRg, const svt::EmbeddedObjectRef& xObj, const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrmFmt*); diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx index f5e793b..f7e1bf9 100644 --- a/sw/source/core/doc/doclay.cxx +++ b/sw/source/core/doc/doclay.cxx @@ -854,57 +854,52 @@ SwFlyFrmFmt* SwDoc::MakeFlyAndMove( const SwPaM& rPam, const SfxItemSet& rSet, return pFmt; } -/// Insert a DrawObject. -/// The Object has to be already registered in the DrawModel. -SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg, - SdrObject& rDrawObj, - const SfxItemSet* pFlyAttrSet, - SwFrmFmt* pDefFmt ) + +// Insert drawing object, which has to be already inserted in the DrawModel +SwDrawFrmFmt* SwDoc::InsertDrawObj( + const SwPaM &rRg, + SdrObject& rDrawObj, + const SfxItemSet& rFlyAttrSet ) { - SwDrawFrmFmt *pFmt = MakeDrawFrmFmt( OUString(), - pDefFmt ? pDefFmt : GetDfltFrmFmt() ); + SwDrawFrmFmt* pFmt = MakeDrawFrmFmt( OUString(), GetDfltFrmFmt() ); const SwFmtAnchor* pAnchor = 0; - if( pFlyAttrSet ) - { - pFlyAttrSet->GetItemState( RES_ANCHOR, sal_False, - (const SfxPoolItem**)&pAnchor ); - pFmt->SetFmtAttr( *pFlyAttrSet ); - } - - RndStdIds eAnchorId = pAnchor ? pAnchor->GetAnchorId() - : pFmt->GetAnchor().GetAnchorId(); + rFlyAttrSet.GetItemState( RES_ANCHOR, sal_False, (const SfxPoolItem**) &pAnchor ); + pFmt->SetFmtAttr( rFlyAttrSet ); // Didn't set the Anchor yet? // DrawObjecte must never end up in the Header/Footer! + RndStdIds eAnchorId = pAnchor != NULL ? pAnchor->GetAnchorId() : pFmt->GetAnchor().GetAnchorId(); const bool bIsAtCntnt = (FLY_AT_PAGE != eAnchorId); const SwNodeIndex* pChkIdx = 0; - if( !pAnchor ) + if ( pAnchor == NULL ) { pChkIdx = &rRg.GetPoint()->nNode; } - else if( bIsAtCntnt ) + else if ( bIsAtCntnt ) { - pChkIdx = pAnchor->GetCntntAnchor() - ? &pAnchor->GetCntntAnchor()->nNode - : &rRg.GetPoint()->nNode; + pChkIdx = + pAnchor->GetCntntAnchor() ? &pAnchor->GetCntntAnchor()->nNode : &rRg.GetPoint()->nNode; } - // Allow drawing objects in header/footer, but control objects aren't - // allowed in header/footer. - if( pChkIdx && - ::CheckControlLayer( &rDrawObj ) && - IsInHeaderFooter( *pChkIdx ) ) + // allow drawing objects in header/footer, but control objects aren't allowed in header/footer. + if( pChkIdx != NULL + && ::CheckControlLayer( &rDrawObj ) + && IsInHeaderFooter( *pChkIdx ) ) { - pFmt->SetFmtAttr( SwFmtAnchor( eAnchorId = FLY_AT_PAGE ) ); + // apply at-page anchor format + eAnchorId = FLY_AT_PAGE; + pFmt->SetFmtAttr( SwFmtAnchor( eAnchorId ) ); } - else if( !pAnchor || (bIsAtCntnt && !pAnchor->GetCntntAnchor() )) + else if( pAnchor == NULL + || ( bIsAtCntnt + && pAnchor->GetCntntAnchor() == NULL ) ) { - // then set it, we need this in the Undo - SwFmtAnchor aAnch( pAnchor ? *pAnchor : pFmt->GetAnchor() ); + // apply anchor format + SwFmtAnchor aAnch( pAnchor != NULL ? *pAnchor : pFmt->GetAnchor() ); eAnchorId = aAnch.GetAnchorId(); - if( FLY_AT_FLY == eAnchorId ) + if ( eAnchorId == FLY_AT_FLY ) { SwPosition aPos( *rRg.GetNode()->FindFlyStartNode() ); aAnch.SetAnchor( &aPos ); @@ -912,25 +907,37 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg, else { aAnch.SetAnchor( rRg.GetPoint() ); - if ( FLY_AT_PAGE == eAnchorId ) + if ( eAnchorId == FLY_AT_PAGE ) { - eAnchorId = rDrawObj.ISA( SdrUnoObj ) - ? FLY_AS_CHAR : FLY_AT_PARA; + eAnchorId = rDrawObj.ISA( SdrUnoObj ) ? FLY_AS_CHAR : FLY_AT_PARA; aAnch.SetType( eAnchorId ); } } pFmt->SetFmtAttr( aAnch ); } - // For Draws anchored as character we set the attribute in the paragraph - if ( FLY_AS_CHAR == eAnchorId ) + // insert text attribute for as-character anchored drawing object + if ( eAnchorId == FLY_AS_CHAR ) { - const sal_Int32 nStt = rRg.GetPoint()->nContent.GetIndex(); - SwFmtFlyCnt aFmt( pFmt ); - // may fail if there's no space left - if (!rRg.GetPoint()->nNode.GetNode().GetTxtNode()->InsertItem(aFmt, nStt, nStt)) - { // pFmt is dead now - return 0; + bool bAnchorAtPageAsFallback = true; + const SwFmtAnchor& rDrawObjAnchorFmt = pFmt->GetAnchor(); + if ( rDrawObjAnchorFmt.GetCntntAnchor() != NULL ) + { + SwTxtNode* pAnchorTxtNode = + rDrawObjAnchorFmt.GetCntntAnchor()->nNode.GetNode().GetTxtNode(); + if ( pAnchorTxtNode != NULL ) + { + const sal_Int32 nStt = rDrawObjAnchorFmt.GetCntntAnchor()->nContent.GetIndex(); + SwFmtFlyCnt aFmt( pFmt ); + pAnchorTxtNode->InsertItem( aFmt, nStt, nStt ); + bAnchorAtPageAsFallback = false; + } + } + + if ( bAnchorAtPageAsFallback ) + { + OSL_ENSURE( false, "SwDoc::InsertDrawObj(..) - missing content anchor for as-character anchored drawing object --> anchor at-page" ); + pFmt->SetFmtAttr( SwFmtAnchor( FLY_AT_PAGE ) ); } } @@ -939,6 +946,7 @@ SwDrawFrmFmt* SwDoc::Insert( const SwPaM &rRg, // Create Frames if necessary if( GetCurrentViewShell() ) { + // create layout representation pFmt->MakeFrms(); // #i42319# - follow-up of #i35635# // move object to visible layer diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx index 9868750..d6a0523 100644 --- a/sw/source/core/frmedt/fecopy.cxx +++ b/sw/source/core/frmedt/fecopy.cxx @@ -196,7 +196,7 @@ sal_Bool SwFEShell::Copy( SwDoc* pClpDoc, const OUString* pNewClpTxt ) pClpDoc->CloneSdrObj( *pObj, false, true ); SwPaM aTemp(aPos); - pClpDoc->Insert(aTemp, *pNew, &aSet, NULL); + pClpDoc->InsertDrawObj(aTemp, *pNew, aSet ); } else { @@ -380,8 +380,7 @@ sal_Bool SwFEShell::CopyDrawSel( SwFEShell* pDestShell, const Point& rSttPt, aSet.Put( aAnchor ); SdrObject* pNew = pDestDoc->CloneSdrObj( *pObj, bIsMove && GetDoc() == pDestDoc, true ); - pFmt = pDestDoc->Insert( *pDestShell->GetCrsr(), - *pNew, &aSet, NULL ); + pFmt = pDestDoc->InsertDrawObj( *pDestShell->GetCrsr(), *pNew, aSet ); } else pFmt = pDestDoc->CopyLayoutFmt( *pFmt, aAnchor, true, true ); @@ -1440,7 +1439,7 @@ void SwFEShell::Paste( SvStream& rStrm, sal_uInt16 nAction, const Point* pPt ) DelSelectedObj(); - pFmt = GetDoc()->Insert( *GetCrsr(), *pNewObj, &aFrmSet, NULL ); + pFmt = GetDoc()->InsertDrawObj( *GetCrsr(), *pNewObj, aFrmSet ); } else { diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx index 239d523..331e6d1 100644 --- a/sw/source/core/frmedt/fefly1.cxx +++ b/sw/source/core/frmedt/fefly1.cxx @@ -921,7 +921,7 @@ void SwFEShell::InsertDrawObj( SdrObject& rDrawObj, ::lcl_FindAnchorPos( *this, *GetDoc(), rInsertPosition, *pFrm, rFlyAttrSet ); } // insert drawing object into the document creating a new <SwDrawFrmFmt> instance - SwDrawFrmFmt* pFmt = GetDoc()->Insert( aPam, rDrawObj, &rFlyAttrSet, 0 ); + SwDrawFrmFmt* pFmt = GetDoc()->InsertDrawObj( aPam, rDrawObj, rFlyAttrSet ); // move object to visible layer SwContact* pContact = static_cast<SwContact*>(rDrawObj.GetUserCall()); diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 5fcb684..51c947d 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -727,7 +727,7 @@ void SwXDrawPage::add(const uno::Reference< drawing::XShape > & xShape) if ( !pTemp ) pTemp = pPam; UnoActionContext aAction(pDoc); - pDoc->Insert( *pTemp, *pObj, &aSet, NULL ); + pDoc->InsertDrawObj( *pTemp, *pObj, aSet ); SwFrmFmt* pFmt = ::FindFrmFmt( pObj ); if(pFmt) pFmt->Add(pShape); diff --git a/sw/source/filter/html/htmldraw.cxx b/sw/source/filter/html/htmldraw.cxx index edb840d..95448f2 100644 --- a/sw/source/filter/html/htmldraw.cxx +++ b/sw/source/filter/html/htmldraw.cxx @@ -208,7 +208,7 @@ void SwHTMLParser::InsertDrawObject( SdrObject* pNewDrawObj, } aFrmSet.Put( aAnchor ); - pDoc->Insert( *pPam, *pNewDrawObj, &aFrmSet, NULL ); + pDoc->InsertDrawObj( *pPam, *pNewDrawObj, aFrmSet ); } diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx index 2788732..36dc6da 100644 --- a/sw/source/filter/ww8/ww8graf.cxx +++ b/sw/source/filter/ww8/ww8graf.cxx @@ -1410,7 +1410,7 @@ void SwWW8ImplReader::ReadGrafLayer1( WW8PLCFspecial* pPF, long nGrafAnchorCp ) if (SdrObject *pObject = ReadGrafPrimitive( nLeft, &aDo, aSet )) { pWWZOrder->InsertDrawingObject(pObject, SVBT16ToShort(aDo.dhgt)); - SwFrmFmt *pFrm = rDoc.Insert( *pPaM, *pObject, &aSet, NULL); + SwFrmFmt *pFrm = rDoc.InsertDrawObj( *pPaM, *pObject, aSet ); pObject->SetMergedItemSet(aSet); pAnchorStck->AddAnchor(*pPaM->GetPoint(), pFrm); } @@ -2669,7 +2669,7 @@ SwFrmFmt* SwWW8ImplReader::Read_GrafLayer( long nGrafAnchorCp ) pWWZOrder->InsertTextLayerObject(pObject); } - pRetFrmFmt = rDoc.Insert(*pPaM, *pObject, &aFlySet, NULL); + pRetFrmFmt = rDoc.InsertDrawObj(*pPaM, *pObject, aFlySet ); OSL_ENSURE(pRetFrmFmt->GetAnchor().GetAnchorId() == eAnchor, "Not the anchor type requested!"); diff --git a/sw/source/filter/ww8/ww8graf2.cxx b/sw/source/filter/ww8/ww8graf2.cxx index f5928c6..dbdfd79 100644 --- a/sw/source/filter/ww8/ww8graf2.cxx +++ b/sw/source/filter/ww8/ww8graf2.cxx @@ -662,7 +662,7 @@ SwFrmFmt* SwWW8ImplReader::ImportGraf(SdrTextObj* pTextObj, } } else - pRet = rDoc.Insert(*pPaM, *pObject, &aAttrSet, NULL); + pRet = rDoc.InsertDrawObj(*pPaM, *pObject, aAttrSet ); } } diff --git a/sw/source/filter/ww8/ww8par4.cxx b/sw/source/filter/ww8/ww8par4.cxx index 0611e8a..a71732c 100644 --- a/sw/source/filter/ww8/ww8par4.cxx +++ b/sw/source/filter/ww8/ww8par4.cxx @@ -295,7 +295,7 @@ SwFrmFmt* SwWW8ImplReader::ImportOle(const Graphic* pGrf, SdrObject::Free( pRet ); // das brauchen wir nicht mehr } else - pFmt = rDoc.Insert(*pPaM, *pRet, pFlySet, NULL); + pFmt = rDoc.InsertDrawObj(*pPaM, *pRet, *pFlySet ); } else if ( GRAPHIC_GDIMETAFILE == aGraph.GetType() ||
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
