diff --git a/include/wx/event.h b/include/wx/event.h index b73289934f..f052255bed 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -1661,7 +1661,12 @@ class WXDLLIMPEXP_CORE wxKeyEvent : public wxEvent, { public: wxKeyEvent(wxEventType keyType = wxEVT_NULL); + + // Normal copy ctor and a ctor creating a new event for the same key as the + // given one but a different event type (this is used in implementation + // code only, do not use outside of the library). wxKeyEvent(const wxKeyEvent& evt); + wxKeyEvent(wxEventType eventType, const wxKeyEvent& evt); // get the key code: an ASCII7 char or an element of wxKeyCode enum int GetKeyCode() const { return (int)m_keyCode; } diff --git a/src/common/event.cpp b/src/common/event.cpp index 7db770744c..088e5fdbfc 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -744,6 +744,15 @@ wxKeyEvent::wxKeyEvent(const wxKeyEvent& evt) DoAssignMembers(evt); } +wxKeyEvent::wxKeyEvent(wxEventType eventType, const wxKeyEvent& evt) + : wxEvent(evt), + wxKeyboardState(evt) +{ + DoAssignMembers(evt); + + m_eventType = eventType; +} + bool wxKeyEvent::IsKeyInCategory(int category) const { switch ( GetKeyCode() )