wxNotificationMessage can be associated with an existing wxTaskBarIcon under
wxMSW instead of creating its own one internally and in this case the icon
must not be deleted when the notification is hidden but it was always
destroyed unconditionally by wxNotificationIconEvtHandler created by
wxAutoNotifMsgImpl.
Fix this by only creating this helper event handler if we do own the icon.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69379
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// can't close automatic notification [currently]
virtual bool DoClose() { return false; }
// can't close automatic notification [currently]
virtual bool DoClose() { return false; }
-
-private:
- // custom event handler connected to m_icon which will receive the icon
- // close event and delete it and itself when it happens
- wxEvtHandler * const m_iconEvtHandler;
};
// implementation for manually closed notifications
};
// implementation for manually closed notifications
// ----------------------------------------------------------------------------
wxAutoNotifMsgImpl::wxAutoNotifMsgImpl(wxWindow *win)
// ----------------------------------------------------------------------------
wxAutoNotifMsgImpl::wxAutoNotifMsgImpl(wxWindow *win)
- : wxBalloonNotifMsgImpl(win),
- m_iconEvtHandler(new wxNotificationIconEvtHandler(m_icon))
+ : wxBalloonNotifMsgImpl(win)
+ if ( m_ownsIcon )
+ {
+ // This object will self-destruct and also delete the icon when the
+ // notification is hidden.
+ new wxNotificationIconEvtHandler(m_icon);
+ }