git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40821
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
{
wxObject *obj = node->GetData();
{
wxObject *obj = node->GetData();
- delete obj;
-
- if (wxPendingDelete.Member(obj))
+ // remove it from the list first so that if we get back here somehow
+ // during the object deletion (e.g. wxYield called from its dtor) we
+ // wouldn't try to delete it the second time
+ if ( wxPendingDelete.Member(obj) )
wxPendingDelete.Erase(node);
wxPendingDelete.Erase(node);
// Deleting one object may have deleted other pending
// objects, so start from beginning of list again.
node = wxPendingDelete.GetFirst();
// Deleting one object may have deleted other pending
// objects, so start from beginning of list again.
node = wxPendingDelete.GetFirst();