From fcaf5d9012d8109f8ee13e79b71d876de4b3aa1b Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sat, 16 Nov 2013 00:53:33 +0000 Subject: [PATCH] wxwidgets 3.0: move FONT_* construction to SpectFrame When using wxWidgets 3.0, creating a wxFont requires the gtk+ library to be initialized. This is causing espeakedit to segfault. SpectFrame::Draw is the only place where the FONT_* variables are used, so move them into the SpectFrame class and create them in the constructor. Also, FONT_NORMAL is not used so it has been removed. --- src/espeakedit.cpp | 4 ---- src/main.h | 4 ---- src/spect.cpp | 3 +++ src/spect.h | 3 +++ 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/espeakedit.cpp b/src/espeakedit.cpp index 4980e411..ec261ce7 100644 --- a/src/espeakedit.cpp +++ b/src/espeakedit.cpp @@ -96,10 +96,6 @@ int frame_x, frame_y, frame_w, frame_h; int adding_page = 0; // fix for wxWidgets (2,8,7) bug, adding first page to a wxNotebook gives emptystring for GetPageTex() in Notebook_Page_Changed event. -wxFont FONT_SMALL(8,wxSWISS,wxNORMAL,wxNORMAL); -wxFont FONT_MEDIUM(9,wxSWISS,wxNORMAL,wxNORMAL); -wxFont FONT_NORMAL(10,wxSWISS,wxNORMAL,wxNORMAL); - IMPLEMENT_APP(MyApp) wxString AppName = _T("espeakedit"); diff --git a/src/main.h b/src/main.h index 72542b73..7efb7cb5 100644 --- a/src/main.h +++ b/src/main.h @@ -111,10 +111,6 @@ extern wchar_t ipa1[256]; -extern wxFont FONT_SMALL; -extern wxFont FONT_MEDIUM; -extern wxFont FONT_NORMAL; - enum { MENU_QUIT = 1, MENU_SPECTRUM, diff --git a/src/spect.cpp b/src/spect.cpp index 76afd298..60e27096 100644 --- a/src/spect.cpp +++ b/src/spect.cpp @@ -1,6 +1,7 @@ /*************************************************************************** * Copyright (C) 2005 to 2007 by Jonathan Duddington * * email: jonsd@users.sourceforge.net * + * Copyright (C) 2013 by Reece H. Dunn * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -92,6 +93,8 @@ float SpectTilt(int value, int freq) SpectFrame::SpectFrame(SpectFrame *copy) + : FONT_SMALL(8,wxSWISS,wxNORMAL,wxNORMAL) + , FONT_MEDIUM(9,wxSWISS,wxNORMAL,wxNORMAL) {//===================================== int ix; diff --git a/src/spect.h b/src/spect.h index ed365860..398455ef 100644 --- a/src/spect.h +++ b/src/spect.h @@ -1,6 +1,7 @@ /*************************************************************************** * Copyright (C) 2005 to 2007 by Jonathan Duddington * * email: jonsd@users.sourceforge.net * + * Copyright (C) 2013 by Reece H. Dunn * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -171,6 +172,8 @@ public: private: void DrawPeaks(wxDC *dc, int offy, int frame_width, int seq_amplitude, double scalex); + wxFont FONT_SMALL; + wxFont FONT_MEDIUM; }; class SpectSeq