From 7e7a19f1527e548d0d1931a653dd17a16fba4338 Mon Sep 17 00:00:00 2001 From: Francesco Montorsi Date: Sat, 27 Dec 2008 14:23:38 +0000 Subject: [PATCH] Fix wxCalendarEvent and wxTextUrlEvent event classes implementing Clone() correctly (as pointed out by the new runtime check) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/calctrl.h | 10 ++++++---- include/wx/textctrl.h | 13 ++++++++++--- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/include/wx/calctrl.h b/include/wx/calctrl.h index e94354010e..549f85f253 100644 --- a/include/wx/calctrl.h +++ b/include/wx/calctrl.h @@ -160,17 +160,19 @@ public: wxCalendarEvent() : m_wday(wxDateTime::Inv_WeekDay) { } wxCalendarEvent(wxWindow *win, const wxDateTime& dt, wxEventType type) : wxDateEvent(win, dt, type), - m_wday(wxDateTime::Inv_WeekDay) - { - } + m_wday(wxDateTime::Inv_WeekDay) { } + wxCalendarEvent(const wxCalendarEvent& event) + : wxDateEvent(event), m_wday(event.m_wday) { } void SetWeekDay(const wxDateTime::WeekDay wd) { m_wday = wd; } wxDateTime::WeekDay GetWeekDay() const { return m_wday; } + virtual wxEvent *Clone() const { return new wxCalendarEvent(*this); } + private: wxDateTime::WeekDay m_wday; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxCalendarEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxCalendarEvent) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index fa14d7a4a1..74b3944339 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -729,9 +729,14 @@ class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent public: wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse, long start, long end) - : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid) - , m_evtMouse(evtMouse), m_start(start), m_end(end) + : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid), + m_evtMouse(evtMouse), m_start(start), m_end(end) { } + wxTextUrlEvent(const wxTextUrlEvent& event) + : wxCommandEvent(event), + m_evtMouse(event.m_evtMouse), + m_start(event.m_start), + m_end(event.m_end) { } // get the mouse event which happend over the URL const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; } @@ -742,6 +747,8 @@ public: // get the end of the URL long GetURLEnd() const { return m_end; } + virtual wxEvent *Clone() const { return new wxTextUrlEvent(*this); } + protected: // the corresponding mouse event wxMouseEvent m_evtMouse; @@ -751,7 +758,7 @@ protected: m_end; private: - DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextUrlEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxTextUrlEvent) public: // for wxWin RTTI only, don't use -- 2.45.2