]> git.saurik.com Git - wxWidgets.git/commitdiff
added check for NULL Clone() return
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 22 Nov 2001 21:14:41 +0000 (21:14 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 22 Nov 2001 21:14:41 +0000 (21:14 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/event.cpp

index 5e618cc09f37839d1d944bf37e0a5dbc46b0aae2..914df7085594ddbd5a393baeb4ca2291bd985017 100644 (file)
@@ -629,6 +629,13 @@ void wxEvtHandler::AddPendingEvent(wxEvent& event)
 {
     // 1) Add event to list of pending events of this event handler
 
+    wxEvent *eventCopy = event.Clone();
+
+    // we must be able to copy the events here so the event class must
+    // implement Clone() properly instead of just providing a NULL stab for it
+    wxCHECK_RET( eventCopy,
+                 _T("events of this type aren't supposed to be posted") );
+
 #if defined(__VISAGECPP__)
     wxENTER_CRIT_SECT( m_eventsLocker);
 #else
@@ -638,9 +645,7 @@ void wxEvtHandler::AddPendingEvent(wxEvent& event)
     if ( !m_pendingEvents )
       m_pendingEvents = new wxList;
 
-    wxEvent *event2 = event.Clone();
-
-    m_pendingEvents->Append(event2);
+    m_pendingEvents->Append(eventCopy);
 
 #if defined(__VISAGECPP__)
     wxLEAVE_CRIT_SECT( m_eventsLocker);