From d57d9ffaf770d06244654dc7bb66c8eeed322dff Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Fri, 3 Nov 2017 11:45:50 -0700 Subject: [PATCH] Avoid some GTK+ run-time errors when using wx{File,Dir}PickerCtrl The wxGTK implementation uses wx{File,Dir}Button, which derives from wxButton, but is not a GtkButton, so many operations which try to modify it, such as changing it's style, are likely to result in errors. See #17984 --- include/wx/gtk/filepicker.h | 4 ++++ src/gtk/filepicker.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/include/wx/gtk/filepicker.h b/include/wx/gtk/filepicker.h index 8da628866e..e6948e7105 100644 --- a/include/wx/gtk/filepicker.h +++ b/include/wx/gtk/filepicker.h @@ -101,6 +101,8 @@ public: // overrides protected: wxDialog *m_dialog; + virtual void DoApplyWidgetStyle(GtkRcStyle*) wxOVERRIDE; + private: // common part of all ctors void Init() { m_dialog = NULL; } @@ -170,6 +172,8 @@ public: // overrides protected: wxDialog *m_dialog; + virtual void DoApplyWidgetStyle(GtkRcStyle*) wxOVERRIDE; + public: // used by the GTK callback only bool m_bIgnoreNextChange; diff --git a/src/gtk/filepicker.cpp b/src/gtk/filepicker.cpp index 3e82198416..8ee67cb02b 100644 --- a/src/gtk/filepicker.cpp +++ b/src/gtk/filepicker.cpp @@ -158,6 +158,9 @@ void wxFileButton::SetInitialDirectory(const wxString& dir) wxGenericFileButton::SetInitialDirectory(dir); } +void wxFileButton::DoApplyWidgetStyle(GtkRcStyle*) +{ +} #endif // wxUSE_FILEPICKERCTRL #if wxUSE_DIRPICKERCTRL @@ -331,4 +334,7 @@ void wxDirButton::SetInitialDirectory(const wxString& dir) wxGenericDirButton::SetInitialDirectory(dir); } +void wxDirButton::DoApplyWidgetStyle(GtkRcStyle*) +{ +} #endif // wxUSE_DIRPICKERCTRL