From dee059c469b87ac01db30fbf6dc069106b6150cc Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 29 Jun 2007 16:58:58 +0000 Subject: [PATCH] Prevent seg fault for older GTK+ git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk/filepicker.h | 3 ++- src/gtk/filepicker.cpp | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/wx/gtk/filepicker.h b/include/wx/gtk/filepicker.h index 5a72f6f8a4..bb91c6d554 100644 --- a/include/wx/gtk/filepicker.h +++ b/include/wx/gtk/filepicker.h @@ -36,7 +36,8 @@ \ virtual bool Destroy() \ { \ - m_dialog->Destroy(); \ + if (m_dialog) \ + m_dialog->Destroy(); \ return wxButton::Destroy(); \ } \ \ diff --git a/src/gtk/filepicker.cpp b/src/gtk/filepicker.cpp index 8ce087ed5c..841d47c106 100644 --- a/src/gtk/filepicker.cpp +++ b/src/gtk/filepicker.cpp @@ -105,7 +105,8 @@ wxFileButton::~wxFileButton() // GtkFileChooserDialog associated with m_dialog. // Thus we have to set its m_widget to NULL to avoid // double destruction on same widget - m_dialog->m_widget = NULL; + if (m_dialog) + m_dialog->m_widget = NULL; } void wxFileButton::OnDialogOK(wxCommandEvent& ev) @@ -126,7 +127,8 @@ void wxFileButton::OnDialogOK(wxCommandEvent& ev) void wxFileButton::SetPath(const wxString &str) { m_path = str; - UpdateDialogPath(m_dialog); + if (m_dialog) + UpdateDialogPath(m_dialog); } #endif // wxUSE_FILEPICKERCTRL && defined(__WXGTK26__) @@ -249,7 +251,8 @@ wxDirButton::~wxDirButton() // GtkFileChooserDialog associated with m_dialog. // Thus we have to set its m_widget to NULL to avoid // double destruction on same widget - m_dialog->m_widget = NULL; + if (m_dialog) + m_dialog->m_widget = NULL; } void wxDirButton::SetPath(const wxString &str) @@ -263,7 +266,8 @@ void wxDirButton::SetPath(const wxString &str) // general with all wxWidgets control-manipulation functions which do not send events). m_bIgnoreNextChange = true; - UpdateDialogPath(m_dialog); + if (m_dialog) + UpdateDialogPath(m_dialog); } #endif // wxUSE_DIRPICKERCTRL && defined(__WXGTK26__) -- 2.45.2