X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc6ceca789f584cf3fc3fc17f6da4b7493ca69bd..ddfdef64fadb32a8c122977ff70669a9d8d5a37d:/src/common/event.cpp diff --git a/src/common/event.cpp b/src/common/event.cpp index a03b9fe1b9..d122c8d434 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -45,6 +45,13 @@ #include "wx/thread.h" +#if wxUSE_BASE + #include "wx/ptr_scpd.h" + + wxDECLARE_SCOPED_PTR(wxEvent, wxEventPtr) + wxDEFINE_SCOPED_PTR(wxEvent, wxEventPtr) +#endif // wxUSE_BASE + // ---------------------------------------------------------------------------- // wxWin macros // ---------------------------------------------------------------------------- @@ -1167,7 +1174,7 @@ void wxEvtHandler::ProcessPendingEvents() "should have pending events if called" ); wxList::compatibility_iterator node = m_pendingEvents->GetFirst(); - wxEvent * const event = wx_static_cast(wxEvent *, node->GetData()); + wxEventPtr event(wx_static_cast(wxEvent *, node->GetData())); // it's important we remove event from list before processing it, else a // nested event loop, for example from a modal dialog, might process the @@ -1186,8 +1193,6 @@ void wxEvtHandler::ProcessPendingEvents() // careful: this object could have been deleted by the event handler // executed by the above ProcessEvent() call, so we can't access any fields // of this object any more - - delete event; } /*