sc/source/ui/namedlg/namedefdlg.cxx | 8 +++++++- sc/source/ui/view/cellsh1.cxx | 2 -- xmloff/source/chart/SchXMLTableContext.cxx | 12 ++++++------ xmloff/source/chart/transporttypes.hxx | 12 ++++-------- 4 files changed, 17 insertions(+), 17 deletions(-)
New commits: commit 8f2d3c47ad40039a842fa09d98137155dcfdfe9e Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Mar 3 00:56:04 2012 +0100 don't create uno::Sequence with new, fdo#46825 The uno::Sequence copy c'tor creates a flat copy and increments the ref count. So if you use new and later delete together with the copy constructor you get a double delete. diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx index 2228ea6..57841fa 100644 --- a/xmloff/source/chart/SchXMLTableContext.cxx +++ b/xmloff/source/chart/SchXMLTableContext.cxx @@ -729,9 +729,9 @@ SvXMLImportContext* SchXMLTableCellContext::CreateChildContext( if( nPrefix == XML_NAMESPACE_TEXT && IsXMLToken( rLocalName, XML_LIST ) && mbReadText ) { SchXMLCell& rCell = mrTable.aData[ mrTable.nRowIndex ][ mrTable.nColumnIndex ]; - rCell.pComplexString = new Sequence< OUString >(); + rCell.aComplexString = Sequence< OUString >(); rCell.eType = SCH_CELL_TYPE_COMPLEX_STRING; - pContext = new SchXMLTextListContext( GetImport(), rLocalName, *rCell.pComplexString ); + pContext = new SchXMLTextListContext( GetImport(), rLocalName, rCell.aComplexString ); mbReadText = sal_False;//don't apply text from <text:p> } // <text:p> element - read text (and range from text:id old version) @@ -771,12 +771,12 @@ void lcl_ApplyCellToComplexLabel( const SchXMLCell& rCell, Sequence< uno::Any >& rComplexLabel.realloc(1); rComplexLabel[0] = uno::makeAny( rCell.aString ); } - else if( rCell.pComplexString && rCell.eType == SCH_CELL_TYPE_COMPLEX_STRING ) + else if( rCell.aComplexString.getLength() && rCell.eType == SCH_CELL_TYPE_COMPLEX_STRING ) { - sal_Int32 nCount = rCell.pComplexString->getLength(); + sal_Int32 nCount = rCell.aComplexString.getLength(); rComplexLabel.realloc( nCount ); for( sal_Int32 nN=0; nN<nCount; nN++) - rComplexLabel[nN] = uno::makeAny((*rCell.pComplexString)[nN]); + rComplexLabel[nN] = uno::makeAny((rCell.aComplexString)[nN]); } else if( rCell.eType == SCH_CELL_TYPE_FLOAT ) { diff --git a/xmloff/source/chart/transporttypes.hxx b/xmloff/source/chart/transporttypes.hxx index ffa4111..cb03cbc 100644 --- a/xmloff/source/chart/transporttypes.hxx +++ b/xmloff/source/chart/transporttypes.hxx @@ -45,17 +45,17 @@ enum SchXMLCellType struct SchXMLCell { rtl::OUString aString; - ::com::sun::star::uno::Sequence< rtl::OUString >* pComplexString; + ::com::sun::star::uno::Sequence< rtl::OUString > aComplexString; double fValue; SchXMLCellType eType; rtl::OUString aRangeId; - SchXMLCell() : pComplexString(0), fValue( 0.0 ), eType( SCH_CELL_TYPE_UNKNOWN ) + SchXMLCell() : aComplexString(), fValue( 0.0 ), eType( SCH_CELL_TYPE_UNKNOWN ) {} SchXMLCell( const SchXMLCell& rOther ) : aString( rOther.aString ) - , pComplexString( rOther.pComplexString ? new ::com::sun::star::uno::Sequence< rtl::OUString >( *rOther.pComplexString ) : 0 ) + , aComplexString( rOther.aComplexString ) , fValue( rOther.fValue ) , eType( rOther.eType ) , aRangeId( rOther.aRangeId ) @@ -63,11 +63,7 @@ struct SchXMLCell ~SchXMLCell() { - if(pComplexString) - { - delete pComplexString; - pComplexString=0; - } + } }; commit 5e8628e45c162299f216f6a283cb126744d873ed Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Sat Mar 3 00:30:43 2012 +0100 make this variable const there are some lifetime problems related to SchXMLCell and therefore this helps to limit the scope of possible problems diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx index 6b2e988..2228ea6 100644 --- a/xmloff/source/chart/SchXMLTableContext.cxx +++ b/xmloff/source/chart/SchXMLTableContext.cxx @@ -124,7 +124,7 @@ void lcl_fillRangeMapping( const size_t nTableColCount( rRow.size()); for( size_t nCol = 0; nCol < nTableColCount; ++nCol ) { - OUString aRangeId( rRow[nCol].aRangeId ); + const OUString aRangeId( rRow[nCol].aRangeId ); if( !aRangeId.isEmpty()) { if( eDataRowSource == chart::ChartDataRowSource_COLUMNS ) commit 2670516f2d4f385e364cc56855e12b086b1c5a76 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Mar 2 23:54:55 2012 +0100 remove debug statement diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 8f76bf6..ec5b8e8 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -115,7 +115,6 @@ #include <com/sun/star/i18n/TransliterationModulesExtra.hpp> #include <boost/scoped_ptr.hpp> -#include <iostream> using namespace ::com::sun::star; using namespace ::com::sun::star::beans; @@ -1743,7 +1742,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) break; case FID_ADD_NAME: { - std::cout << "temp" << std::endl; sal_uInt16 nId = ScNameDefDlgWrapper::GetChildWindowId(); SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame(); SfxChildWindow* pWnd = pViewFrm->GetChildWindow( nId ); commit 6e93e78c85e0c4eea174483f1d27ee38fd00ee21 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Mar 2 23:48:44 2012 +0100 don't show an error message for empty names in Define Names, fdo#46816 diff --git a/sc/source/ui/namedlg/namedefdlg.cxx b/sc/source/ui/namedlg/namedefdlg.cxx index a9795d5..282c47a 100644 --- a/sc/source/ui/namedlg/namedefdlg.cxx +++ b/sc/source/ui/namedlg/namedefdlg.cxx @@ -167,7 +167,13 @@ bool ScNameDefDlg::IsNameValid() } maFtInfo.SetControlBackground(GetSettings().GetStyleSettings().GetDialogColor()); - if (!ScRangeData::IsNameValid( aName, mpDoc )) + if ( aName.isEmpty() ) + { + maBtnAdd.Disable(); + maFtInfo.SetText(maStrInfoDefault); + return false; + } + else if (!ScRangeData::IsNameValid( aName, mpDoc )) { maFtInfo.SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor()); maFtInfo.SetText(maErrInvalidNameStr); _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits