]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/event.cpp
Fix memory leaks in wxAutomationObject::Invoke().
[wxWidgets.git] / src / common / event.cpp
index 7db770744cb90ad1bb8b6e17ea678388b068536c..59f6bc004a03e635d88a36949f45d6c2e388dcda 100644 (file)
@@ -554,10 +554,10 @@ wxMouseEvent::wxMouseEvent(wxEventType commandType)
 
     m_clickCount = -1;
 
+    m_wheelAxis = wxMOUSE_WHEEL_VERTICAL;
     m_wheelRotation = 0;
     m_wheelDelta = 0;
     m_linesPerAction = 0;
-    m_wheelAxis = 0;
 }
 
 void wxMouseEvent::Assign(const wxMouseEvent& event)
@@ -735,6 +735,8 @@ wxKeyEvent::wxKeyEvent(wxEventType type)
 #if wxUSE_UNICODE
     m_uniChar = WXK_NONE;
 #endif
+
+    InitPropagation();
 }
 
 wxKeyEvent::wxKeyEvent(const wxKeyEvent& evt)
@@ -742,6 +744,19 @@ wxKeyEvent::wxKeyEvent(const wxKeyEvent& evt)
             wxKeyboardState(evt)
 {
     DoAssignMembers(evt);
+
+    InitPropagation();
+}
+
+wxKeyEvent::wxKeyEvent(wxEventType eventType, const wxKeyEvent& evt)
+          : wxEvent(evt),
+            wxKeyboardState(evt)
+{
+    DoAssignMembers(evt);
+
+    m_eventType = eventType;
+
+    InitPropagation();
 }
 
 bool wxKeyEvent::IsKeyInCategory(int category) const
@@ -1147,6 +1162,8 @@ wxEventFilter* wxEvtHandler::ms_filterList = NULL;
             // Skip the assert below.
             return;
         }
+
+        prev = f;
     }
 
     wxFAIL_MSG( "Filter not found" );