Init m_LNCVPanel before m_CV to fix startup crash with recent wxWidgets

ok sebastia@ (maintainer)
This commit is contained in:
jca 2019-01-04 11:07:58 +00:00
parent e5c4e085d7
commit 8840868f42
2 changed files with 41 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.18 2019/01/02 12:44:07 jca Exp $
# $OpenBSD: Makefile,v 1.19 2019/01/04 11:07:58 jca Exp $
COMMENT-main = model railroad control daemon
COMMENT-gui = model railroad control daemon client
@ -11,7 +11,7 @@ PKGNAME-gui = rocview-${VERSION}.${REV}
CATEGORIES = misc x11
REVISION-main = 8
REVISION-gui = 7
REVISION-gui = 8
HOMEPAGE = http://www.rocrail.net/
MAINTAINER = Sebastian Reitenbach <sebastia@openbsd.org>

View File

@ -0,0 +1,39 @@
$OpenBSD: patch-rocview_impl_guiframe_cpp,v 1.1 2019/01/04 11:07:58 jca Exp $
Initialize m_LNCVPanel earlier to prevent a crash with recent wxWidgets.
Index: rocview/impl/guiframe.cpp
--- rocview/impl/guiframe.cpp.orig
+++ rocview/impl/guiframe.cpp
@@ -1759,16 +1759,6 @@ void RocGuiFrame::create() {
m_StatNotebook->AddPage(m_ActiveLocsPanel, wxGetApp().getMsg("activelocs") );
-
- TraceOp.trc( "frame", TRCLEVEL_INFO, __LINE__, 9999, "Creating PT Panel..." );
- m_CVPanel = new wxScrolledWindow( m_StatNotebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER||wxHSCROLL|wxVSCROLL );
- m_CVPanel->SetScrollbars(1, 1, 0, 0);
- m_CV = NULL;
- m_CV = new CV( m_CVPanel, wGui.getcvconf( m_Ini ), this );
-
- m_StatNotebook->AddPage(m_CVPanel, wxGetApp().getMsg("programming") );
-
-
TraceOp.trc( "frame", TRCLEVEL_INFO, __LINE__, 9999, "Creating LNCV Panel..." );
m_LNCVPanel = new wxScrolledWindow( m_StatNotebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER||wxHSCROLL|wxVSCROLL );
m_LNCVPanel->SetScrollbars(1, 1, 0, 0);
@@ -1779,6 +1769,14 @@ void RocGuiFrame::create() {
if( wGui.islncvtab(m_Ini) ) {
m_StatNotebook->AddPage(m_LNCVPanel, wxGetApp().getMsg("lncvprogramming") );
}
+
+ TraceOp.trc( "frame", TRCLEVEL_INFO, __LINE__, 9999, "Creating PT Panel..." );
+ m_CVPanel = new wxScrolledWindow( m_StatNotebook, -1, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER||wxHSCROLL|wxVSCROLL );
+ m_CVPanel->SetScrollbars(1, 1, 0, 0);
+ m_CV = NULL;
+ m_CV = new CV( m_CVPanel, wGui.getcvconf( m_Ini ), this );
+
+ m_StatNotebook->AddPage(m_CVPanel, wxGetApp().getMsg("programming") );
TraceOp.trc( "frame", TRCLEVEL_INFO, __LINE__, 9999, "Creating PlanNotebook..." );
m_PlanNotebook = new wxNotebook( m_PlanSplitter, -1, wxDefaultPosition, wxDefaultSize, wxNB_TOP );