]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/event.cpp
Added chapter on collection and container classes to contents
[wxWidgets.git] / src / common / event.cpp
index ca7605d9b9eb7f5d2cb61db1f2315796fb9f8006..3ace246251136bc2af953944ede28d1f2c09eb7a 100644 (file)
@@ -524,14 +524,12 @@ void wxQueryNewPaletteEvent::CopyObject(wxObject& obj_d) const
 }
 
 wxWindowCreateEvent::wxWindowCreateEvent(wxWindow *win)
-                   : wxEvent()
 {
     SetEventType(wxEVT_CREATE);
     SetEventObject(win);
 }
 
 wxWindowDestroyEvent::wxWindowDestroyEvent(wxWindow *win)
-                    : wxEvent()
 {
     SetEventType(wxEVT_DESTROY);
     SetEventObject(win);
@@ -803,7 +801,14 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
     // BC++ doesn't like testing for m_fn without != 0
     for ( int i = 0; table.entries[i].m_fn != 0; i++ )
     {
+        // the line using reference exposes a bug in gcc: although it _seems_
+        // to work, it leads to weird crashes later on during program
+        // execution
+#ifdef __GNUG__
+        wxEventTableEntry entry = table.entries[i];
+#else
         const wxEventTableEntry& entry = table.entries[i];
+#endif
 
         // match only if the event type is the same and the id is either -1 in
         // the event table (meaning "any") or the event id matches the id
@@ -827,8 +832,6 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
                 return !event.GetSkipped();
             }
         }
-
-        i++;
     }
 
     return FALSE;