Delete the associated dialog in wxGTK wx{File,Dir}Button.
The code seemed to rely on Destroy() being called for deleting the dialog, but it's actually not used for child windows, so do it in dtor instead. Closes #15156. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
622bc15f11
commit
0553426814
@ -34,13 +34,6 @@
|
|||||||
return NULL; \
|
return NULL; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
virtual bool Destroy() \
|
|
||||||
{ \
|
|
||||||
if (m_dialog) \
|
|
||||||
m_dialog->Destroy(); \
|
|
||||||
return wxButton::Destroy(); \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
/* even if wx derive from wxGenericFileButton, i.e. from wxButton, our */ \
|
/* even if wx derive from wxGenericFileButton, i.e. from wxButton, our */ \
|
||||||
/* native GTK+ widget does not derive from GtkButton thus *all* uses */ \
|
/* native GTK+ widget does not derive from GtkButton thus *all* uses */ \
|
||||||
/* GTK_BUTTON(m_widget) macro done by wxButton must be bypassed to */ \
|
/* GTK_BUTTON(m_widget) macro done by wxButton must be bypassed to */ \
|
||||||
|
@ -103,6 +103,7 @@ bool wxFileButton::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
wxFileButton::~wxFileButton()
|
wxFileButton::~wxFileButton()
|
||||||
{
|
{
|
||||||
|
delete m_dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFileButton::OnDialogOK(wxCommandEvent& ev)
|
void wxFileButton::OnDialogOK(wxCommandEvent& ev)
|
||||||
@ -258,6 +259,7 @@ bool wxDirButton::Create( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
wxDirButton::~wxDirButton()
|
wxDirButton::~wxDirButton()
|
||||||
{
|
{
|
||||||
|
delete m_dialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDirButton::GTKUpdatePath(const char *gtkpath)
|
void wxDirButton::GTKUpdatePath(const char *gtkpath)
|
||||||
|
Loading…
Reference in New Issue
Block a user