Fix bug with unloading wxPluginLibrary objects in "wrong" order.

wxPluginLibrary objects had to be unloaded in exactly the reverse order to
which they were loaded in. This was not documented and was a serious
limitation for any realistic use of plugins anyhow, so fix it and allow
unloading them in any order now.

Instead of keeping a pointer to the last wxClassInfo not created by this
plugin, now keep a pointer to the first wxClassInfo that was created by it.
This makes the code slightly more complex but this pointer, unlike the old
one, remains valid even if another plugin was unloaded.

Closes #14261.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-05-26 12:29:54 +00:00
parent f0d38b659f
commit 7ed9cd2891
3 changed files with 57 additions and 12 deletions

View File

@@ -522,6 +522,7 @@ All:
- Implement wxThread::SetConcurrency() for POSIX systems (Igor Korot).
- Fix deadlock due to too many events in Unix console apps (Lukasz Michalski).
- Added wxDir::GetNameWithSep().
- Allow unloading wxPluginLibrary objects in any order (manyleaves).
All (GUI):