basic/source/classes/sb.cxx | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
New commits:
commit 738622d199a64327048d6a40953499b9dca5c008
Author: Michael Meeks michael.me...@novell.com
Date: Mon Jul 25 18:08:29 2011 +0100
fdo#39520 - turn DocBasicItems into an rtl::Static to improve shutdown on
mac
Signed-off-by: Caolán McNamara caol...@redhat.com
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
index f9cbab6..9ef8de3 100644
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
@@ -164,33 +164,33 @@ namespace {
typedef ::rtl::Reference DocBasicItem DocBasicItemRef;
typedef boost::unordered_map const StarBASIC *, DocBasicItemRef
DocBasicItemMap;
-//::rtl::OUStringHash, ::std::equal_to ::rtl::OUString
ModuleInitDependencyMap;
-static DocBasicItemMap GaDocBasicItems;
+class GaDocBasicItems : public rtl::StaticDocBasicItemMap,GaDocBasicItems {};
const DocBasicItem* lclFindDocBasicItem( const StarBASIC* pDocBasic )
{
-DocBasicItemMap::iterator it = GaDocBasicItems.find( pDocBasic );
-return (it != GaDocBasicItems.end()) ? it-second.get() : 0;
+DocBasicItemMap::iterator it = GaDocBasicItems::get().find( pDocBasic );
+DocBasicItemMap::iterator end = GaDocBasicItems::get().end();
+return (it != end) ? it-second.get() : 0;
}
void lclInsertDocBasicItem( StarBASIC rDocBasic )
{
-DocBasicItemRef rxDocBasicItem = GaDocBasicItems[ rDocBasic ];
+DocBasicItemRef rxDocBasicItem = GaDocBasicItems::get()[ rDocBasic ];
rxDocBasicItem.set( new DocBasicItem( rDocBasic ) );
rxDocBasicItem-startListening();
}
void lclRemoveDocBasicItem( StarBASIC rDocBasic )
{
-DocBasicItemMap::iterator it = GaDocBasicItems.find( rDocBasic );
-if( it != GaDocBasicItems.end() )
+DocBasicItemMap::iterator it = GaDocBasicItems::get().find( rDocBasic );
+if( it != GaDocBasicItems::get().end() )
{
it-second-stopListening();
-GaDocBasicItems.erase( it );
+GaDocBasicItems::get().erase( it );
}
-DocBasicItemMap::iterator it_end = GaDocBasicItems.end();
-for( it = GaDocBasicItems.begin(); it != it_end; ++it )
+DocBasicItemMap::iterator it_end = GaDocBasicItems::get().end();
+for( it = GaDocBasicItems::get().begin(); it != it_end; ++it )
it-second-clearDependingVarsOnDelete( rDocBasic );
}
___
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits