svx/source/tbxctrls/tbcontrl.cxx | 7 +++++-- sw/source/core/fields/reffld.cxx | 30 +++++++++++++++++++----------- 2 files changed, 24 insertions(+), 13 deletions(-)
New commits: commit d9896aeeedb0ca03bec65df23e2fd96f30239619 Author: Michael Stahl <[email protected]> Date: Tue Jan 28 20:45:20 2014 +0100 fix bad cast in SvxStyleBox_Impl::StateChanged() This causes various JunitTest crashes on Windows, regression from 887bc4dd3e62fe6dd19dc9d1c3ba273a5b21b5ec. Change-Id: Iab24e0d39375ac1e5ac63d32470dca1e54d518c5 diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 5284816..0a96bd0 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -596,7 +596,10 @@ void SvxStyleBox_Impl::UserDraw( const UserDrawEvent& rUDEvt ) Size aPixelSize( pDevice->LogicToPixel( aFontSize, pShell->GetMapUnit() ) ); // setup the font properties - Font aFont( pFontItem->GetFamilyName(), pFontItem->GetStyleName(), aPixelSize ); + SvxFont aFont; + aFont.SetName(pFontItem->GetFamilyName()); + aFont.SetStyleName(pFontItem->GetStyleName()); + aFont.SetSize(aPixelSize); const SfxPoolItem *pItem = aItemSet.GetItem( SID_ATTR_CHAR_WEIGHT ); if ( pItem ) @@ -632,7 +635,7 @@ void SvxStyleBox_Impl::UserDraw( const UserDrawEvent& rUDEvt ) pItem = aItemSet.GetItem( SID_ATTR_CHAR_CASEMAP ); if ( pItem ) - ((SvxFont &)aFont).SetCaseMap( static_cast< const SvxCaseMapItem* >( pItem )->GetCaseMap() ); + aFont.SetCaseMap(static_cast<const SvxCaseMapItem*>(pItem)->GetCaseMap()); pItem = aItemSet.GetItem( SID_ATTR_CHAR_EMPHASISMARK ); if ( pItem ) commit 8676c2157a0d294dabd967b9591f48ba2ec95ac1 Author: Michael Stahl <[email protected]> Date: Tue Jan 28 17:04:24 2014 +0100 sw: style cleanup in GetFieldIdsFromDoc Change-Id: Ib7141b47d5c2a27b75e47756adb4c644aace721a diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx index 2974c7b..1288582 100644 --- a/sw/source/core/fields/reffld.cxx +++ b/sw/source/core/fields/reffld.cxx @@ -950,17 +950,23 @@ typedef boost::ptr_vector<_RefIdsMap> _RefIdsMaps; /// @param[in,out] rIds The list of IDs found in the document. void _RefIdsMap::GetFieldIdsFromDoc( SwDoc& rDoc, std::set<sal_uInt16> &rIds) { - const SwTxtNode* pNd; - SwFieldType* pType; + SwFieldType *const pType = rDoc.GetFldType(RES_SETEXPFLD, aName, false); - if( 0 != ( pType = rDoc.GetFldType( RES_SETEXPFLD, aName, false ) )) + if (!pType) + return; + + SwIterator<SwFmtFld,SwFieldType> aIter( *pType ); + for (SwFmtFld const* pF = aIter.First(); pF; pF = aIter.Next()) { - SwIterator<SwFmtFld,SwFieldType> aIter( *pType ); - for( SwFmtFld* pF = aIter.First(); pF; pF = aIter.Next() ) - if( pF->GetTxtFld() && - 0 != ( pNd = pF->GetTxtFld()->GetpTxtNode() ) && - pNd->GetNodes().IsDocNodes() ) - rIds.insert( ((SwSetExpField*)pF->GetField())->GetSeqNumber() ); + if (pF->GetTxtFld()) + { + SwTxtNode const*const pNd = pF->GetTxtFld()->GetpTxtNode(); + if (pNd && pNd->GetNodes().IsDocNodes()) + { + rIds.insert(static_cast<SwSetExpField const*>(pF->GetField()) + ->GetSeqNumber()); + } + } } } @@ -999,8 +1005,10 @@ void _RefIdsMap::Init( SwDoc& rDoc, SwDoc& rDestDoc, bool bField ) for( SwFmtFld* pF = aIter.First(); pF; pF = aIter.Next() ) if( pF->GetTxtFld() ) { - sal_uInt16 n = ((SwSetExpField*)pF->GetField())->GetSeqNumber( ); - ((SwSetExpField*)pF->GetField())->SetSeqNumber( sequencedIds[ n ] ); + SwSetExpField *const pSetExp( + static_cast<SwSetExpField *>(pF->GetField())); + sal_uInt16 const n = pSetExp->GetSeqNumber(); + pSetExp->SetSeqNumber( sequencedIds[n] ); } } } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
