cui/source/options/optaboutconfig.cxx |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

New commits:
commit f87f5c829e612d333ddff892752693b2835cec19
Author: Efe Gürkan YALAMAN <efeyala...@gmail.com>
Date:   Mon Oct 28 01:33:41 2013 +0200

    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 <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/cui/source/options/optaboutconfig.cxx 
b/cui/source/options/optaboutconfig.cxx
index 753edb2..21b96c4b 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 );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to