Revert partly some of my previous patches

to avoid invalidation of end iterators

Change-Id: I0970b6d753ee1dd1f4805d0d27b8eb4f8210581b
Reviewed-on: https://gerrit.libreoffice.org/24265
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
diff --git a/svx/source/customshapes/EnhancedCustomShape3d.cxx b/svx/source/customshapes/EnhancedCustomShape3d.cxx
index 8f7d6b6..f4f1ed2 100644
--- a/svx/source/customshapes/EnhancedCustomShape3d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape3d.cxx
@@ -724,9 +724,7 @@ SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, con
            pScene->SetLogicRect( CalculateNewSnapRect( pCustomShape, aSnapRect, aBoundRect2d, pMap ) );

            // removing placeholder objects
            std::vector< E3dCompoundObject* >::iterator aObjectListIter( aPlaceholderObjectList.begin() );
            std::vector< E3dCompoundObject* >::const_iterator aEnd( aPlaceholderObjectList.end() );
            while ( aObjectListIter != aEnd )
            for (std::vector< E3dCompoundObject* >::iterator aObjectListIter( aPlaceholderObjectList.begin() ); aObjectListIter != aPlaceholderObjectList.end(); )
            {
                pScene->Remove3DObj( *aObjectListIter );
                delete *aObjectListIter++;
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index c42bcbf..3076deb 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -1619,8 +1619,7 @@ void SubsetMap::ApplyCharMap( const FontCharMapPtr& rxFontCharMap )

    // remove subsets that are not matched in any range
    SubsetList::iterator it = maSubsets.begin();
    SubsetList::const_iterator aEnd = maSubsets.end();
    while(it != aEnd)
    while(it != maSubsets.end())
    {
        const Subset& rSubset = *it;
        sal_uInt32 cMin = rSubset.GetRangeMin();
diff --git a/svx/source/form/fmvwimp.cxx b/svx/source/form/fmvwimp.cxx
index a2e1e1c..e5ef357 100644
--- a/svx/source/form/fmvwimp.cxx
+++ b/svx/source/form/fmvwimp.cxx
@@ -567,9 +567,8 @@ void FmXFormView::removeWindow( const Reference< XControlContainer >& _rxCC )
    // - der Control-Container fuer ein Window entfernt wird, waehrend
    //   der aktive Modus eingeschaltet ist.

    PageWindowAdapterList::const_iterator aEnd = m_aPageWindowAdapters.end();
    for (   PageWindowAdapterList::iterator i = m_aPageWindowAdapters.begin();
            i != aEnd;
            i != m_aPageWindowAdapters.end();
            ++i
        )
    {
diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx
index 795134c..9ecaca4 100644
--- a/svx/source/gallery2/galtheme.cxx
+++ b/svx/source/gallery2/galtheme.cxx
@@ -591,8 +591,7 @@ void GalleryTheme::Actualize( const Link<const INetURLObject&, void>& rActualize
        }

        // remove all entries with set flag
        GalleryObjectList::const_iterator aEnd = aObjectList.end();
        for ( GalleryObjectList::iterator it = aObjectList.begin(); it != aEnd ; /* increment is in the body of loop */)
        for ( GalleryObjectList::iterator it = aObjectList.begin(); it != aObjectList.end(); /* increment is in the body of loop */)
        {
            if( (*it)->mbDelete )
            {