From 1222ac3d7f80131f4f7a7b4e9994cf3c4a53af20 Mon Sep 17 00:00:00 2001 From: Xiaofeng Wang <1237906+wasphin@users.noreply.github.com> Date: Sat, 7 Dec 2019 11:12:58 +0800 Subject: [PATCH] Fix crash in the splitter sample due to replacing null window The sample could crash after the following sequence of actions: 1. Resize splitter to hide the right/left window. 2. Activate replace menu action. Fix this by checking if the window being replaced is non-null. Closes https://github.com/wxWidgets/wxWidgets/pull/1672 --- samples/splitter/splitter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/samples/splitter/splitter.cpp b/samples/splitter/splitter.cpp index 523aa5d07a..6c6cd76f2b 100644 --- a/samples/splitter/splitter.cpp +++ b/samples/splitter/splitter.cpp @@ -448,8 +448,10 @@ void MyFrame::OnReplace(wxCommandEvent& WXUNUSED(event) ) { if (m_replacewindow == NULL) { m_replacewindow = m_splitter->GetWindow2(); - m_splitter->ReplaceWindow(m_replacewindow, new wxPanel(m_splitter, wxID_ANY)); - m_replacewindow->Hide(); + if (m_replacewindow != NULL) { + m_splitter->ReplaceWindow(m_replacewindow, new wxPanel(m_splitter, wxID_ANY)); + m_replacewindow->Hide(); + } } else { wxWindow *empty = m_splitter->GetWindow2(); wxASSERT(empty != m_replacewindow);