diff options
author | Efe Gürkan YALAMAN <efeyalaman@gmail.com> | 2013-10-28 01:33:41 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-10-29 11:53:53 +0000 |
commit | f87f5c829e612d333ddff892752693b2835cec19 (patch) | |
tree | 9a512822f982d08514da079b1ac2e3e111935c66 /cui/source | |
parent | 511bbec1c5b6111f17ef5357ca7a6041555e571b (diff) |
fdo#70049 Expert Config page cannot save boolean
This patch fixes unsaveable booleans. Also fix the problem occurs when there is
multiple changes on page. Page was commiting only last added one, now
commits all.
Change-Id: Id1a15634e95d5ca9d54e7a90fa1bbbaf874e3f08
Reviewed-on: https://gerrit.libreoffice.org/6457
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui/source')
-rw-r--r-- | cui/source/options/optaboutconfig.cxx | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx index 753edb206f7f..21b96c4b222a 100644 --- a/cui/source/options/optaboutconfig.cxx +++ b/cui/source/options/optaboutconfig.cxx @@ -191,20 +191,18 @@ sal_Bool CuiAboutConfigTabPage::FillItemSet( SfxItemSet& ) sal_Bool bModified = sal_False; Reference< XNameAccess > xUpdateAccess = getConfigAccess( "/", sal_True ); - for( size_t nInd = 0; nInd < m_vectorOfModified.size(); ++nInd ) + std::vector< boost::shared_ptr< Prop_Impl > >::iterator pIter; + for( pIter = m_vectorOfModified.begin() ; pIter != m_vectorOfModified.end(); ++pIter ) { - boost::shared_ptr< Prop_Impl > aNamedValue = m_vectorOfModified[ nInd ]; - - xUpdateAccess = getConfigAccess( aNamedValue->Name , sal_True ); + xUpdateAccess = getConfigAccess( (*pIter)->Name , sal_True ); Reference< XNameReplace > xNameReplace( xUpdateAccess, UNO_QUERY_THROW ); - xNameReplace->replaceByName( aNamedValue->Property, aNamedValue->Value ); + xNameReplace->replaceByName( (*pIter)->Property, (*pIter)->Value ); bModified = sal_True; - } - Reference< util::XChangesBatch > xChangesBatch( xUpdateAccess, UNO_QUERY_THROW ); - - xChangesBatch->commitChanges(); + Reference< util::XChangesBatch > xChangesBatch( xUpdateAccess, UNO_QUERY_THROW ); + xChangesBatch->commitChanges(); + } return bModified; } @@ -638,10 +636,10 @@ IMPL_LINK_NOARG( CuiAboutConfigTabPage, StandardHdl_Impl ) throw uno::Exception(); - AddToModifiedVector( pProperty ); sDialogValue = sNewValue; } } + AddToModifiedVector( pProperty ); //update listbox value. m_pPrefBox->SetEntryText( sDialogValue, pEntry, 3 ); |