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
This commit is contained in:
Francesco Montorsi
2008-12-27 14:23:38 +00:00
parent 588ba23758
commit 7e7a19f152
2 changed files with 16 additions and 7 deletions

View File

@@ -160,17 +160,19 @@ public:
wxCalendarEvent() : m_wday(wxDateTime::Inv_WeekDay) { } wxCalendarEvent() : m_wday(wxDateTime::Inv_WeekDay) { }
wxCalendarEvent(wxWindow *win, const wxDateTime& dt, wxEventType type) wxCalendarEvent(wxWindow *win, const wxDateTime& dt, wxEventType type)
: wxDateEvent(win, dt, 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; } void SetWeekDay(const wxDateTime::WeekDay wd) { m_wday = wd; }
wxDateTime::WeekDay GetWeekDay() const { return m_wday; } wxDateTime::WeekDay GetWeekDay() const { return m_wday; }
virtual wxEvent *Clone() const { return new wxCalendarEvent(*this); }
private: private:
wxDateTime::WeekDay m_wday; wxDateTime::WeekDay m_wday;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxCalendarEvent) DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxCalendarEvent)
}; };
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -729,9 +729,14 @@ class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent
public: public:
wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse, wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse,
long start, long end) long start, long end)
: wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid) : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid),
, m_evtMouse(evtMouse), m_start(start), m_end(end) 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 // get the mouse event which happend over the URL
const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; } const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; }
@@ -742,6 +747,8 @@ public:
// get the end of the URL // get the end of the URL
long GetURLEnd() const { return m_end; } long GetURLEnd() const { return m_end; }
virtual wxEvent *Clone() const { return new wxTextUrlEvent(*this); }
protected: protected:
// the corresponding mouse event // the corresponding mouse event
wxMouseEvent m_evtMouse; wxMouseEvent m_evtMouse;
@@ -751,7 +758,7 @@ protected:
m_end; m_end;
private: private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextUrlEvent) DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxTextUrlEvent)
public: public:
// for wxWin RTTI only, don't use // for wxWin RTTI only, don't use