// Created: 03/12/01
// RCS-ID: $Id$
// Copyright: (c) 2001 Ron Lee <ron@debian.org>
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
if ( !symbol )
{
- wxString msg(_("wxDynamicLibrary failed to GetSymbol '%s'"));
#if defined(HAVE_DLERROR) && !defined(__EMX__)
#if wxUSE_UNICODE
if( err )
{
- failed = TRUE;
- wxLogError( msg, err );
+ wxLogError(wxT("%s"), err);
}
#else
failed = TRUE;
}
}
+#if wxUSE_EXTENDED_RTTI == 0
for(info = m_after; info != m_before; info = info->m_next)
{
if( info->m_baseClassName1 )
if( info->m_baseClassName2 )
info->m_baseInfo2 = (wxClassInfo *)t->Get(info->m_baseClassName2);
}
+#endif
}
void wxPluginLibrary::RestoreClassInfo()
wxASSERT_MSG( m_linkcount == 1,
_T("RegisterModules should only be called for the first load") );
- for(wxClassInfo *info = m_after; info != m_before; info = info->m_next)
+ for ( wxClassInfo *info = m_after; info != m_before; info = info->m_next)
{
if( info->IsKindOf(CLASSINFO(wxModule)) )
{
wxASSERT_MSG( m, _T("wxDynamicCast of wxModule failed") );
- m_wxmodules.Append(m);
+ m_wxmodules.push_back(m);
wxModule::RegisterModule(m);
}
}
// FIXME: Likewise this is (well was) very similar to InitializeModules()
- for(wxModuleList::Node *node = m_wxmodules.GetFirst(); node; node->GetNext())
+ for ( wxModuleList::iterator it = m_wxmodules.begin();
+ it != m_wxmodules.end();
+ ++it)
{
- if( !node->GetData()->Init() )
+ if( !(*it)->Init() )
{
wxLogDebug(_T("wxModule::Init() failed for wxPluginLibrary"));
// let the dtor Exit the rest on shutdown, (which we'll initiate
// shortly).
- wxModuleList::Node *oldNode = 0;
+ wxModuleList::iterator oldNode = m_wxmodules.end();
do {
- node = node->GetNext();
- delete oldNode;
- wxModule::UnregisterModule( node->GetData() );
- oldNode = node;
- } while( node );
+ ++it;
+ if( oldNode != m_wxmodules.end() )
+ m_wxmodules.erase(oldNode);
+ wxModule::UnregisterModule( *it );
+ oldNode = it;
+ } while( it != m_wxmodules.end() );
--m_linkcount; // Flag us for deletion
break;
void wxPluginLibrary::UnregisterModules()
{
- wxModuleList::Node *node;
+ wxModuleList::iterator it;
- for(node = m_wxmodules.GetFirst(); node; node->GetNext())
- node->GetData()->Exit();
+ for ( it = m_wxmodules.begin(); it != m_wxmodules.end(); ++it )
+ (*it)->Exit();
- for(node = m_wxmodules.GetFirst(); node; node->GetNext())
- wxModule::UnregisterModule( node->GetData() );
+ for ( it = m_wxmodules.begin(); it != m_wxmodules.end(); ++it )
+ wxModule::UnregisterModule( *it );
- m_wxmodules.DeleteContents(TRUE);
+ WX_CLEAR_LIST(wxModuleList, m_wxmodules);
}
if ( i->second == m_entry )
{
ms_manifest->erase(i);
- return;
+ break;
}
}