From b04387a21d94c89d53b7c5635338be12b8e11c90 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Fri, 17 May 2019 16:29:31 -0400 Subject: [PATCH] Move AudacityApp::GenerateCrashReport to its own files --- locale/POTFILES.in | 2 + mac/Audacity.xcodeproj/project.pbxproj | 6 ++ src/AudacityApp.cpp | 57 +------------- src/AudacityApp.h | 4 - src/CrashReport.cpp | 77 +++++++++++++++++++ src/CrashReport.h | 29 +++++++ src/Makefile.am | 2 + src/Makefile.in | 76 +++++++++++------- src/menus/HelpMenus.cpp | 4 +- win/Projects/Audacity/Audacity.vcxproj | 2 + .../Audacity/Audacity.vcxproj.filters | 6 ++ 11 files changed, 175 insertions(+), 90 deletions(-) create mode 100644 src/CrashReport.cpp create mode 100644 src/CrashReport.h diff --git a/locale/POTFILES.in b/locale/POTFILES.in index ec8538881..47b58d628 100644 --- a/locale/POTFILES.in +++ b/locale/POTFILES.in @@ -58,6 +58,8 @@ src/CellularPanel.cpp src/CellularPanel.h src/Clipboard.cpp src/Clipboard.h +src/CrashReport.cpp +src/CrashReport.h src/ClassicThemeAsCeeCode.h src/CrossFade.cpp src/CrossFade.h diff --git a/mac/Audacity.xcodeproj/project.pbxproj b/mac/Audacity.xcodeproj/project.pbxproj index 7cb4245cc..9ba916c31 100644 --- a/mac/Audacity.xcodeproj/project.pbxproj +++ b/mac/Audacity.xcodeproj/project.pbxproj @@ -1293,6 +1293,7 @@ 5EF958851DEB121800191280 /* InconsistencyException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EF958831DEB121800191280 /* InconsistencyException.cpp */; }; 5EFEAD9E22723E390077DFF6 /* Clipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EFEAD9C22723E390077DFF6 /* Clipboard.cpp */; }; 5EFEADA02273382D0077DFF6 /* AudacityApp.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5EFEAD9F2273382D0077DFF6 /* AudacityApp.mm */; }; + 5EFEADA322733DD30077DFF6 /* CrashReport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EFEADA122733DD30077DFF6 /* CrashReport.cpp */; }; 65326EC72253D70900844F28 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = 65326EAA2253D70900844F28 /* common.c */; }; 65326EC82253D70900844F28 /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 65326EAB2253D70900844F28 /* common.h */; }; 65326EC92253D70900844F28 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 65326EAC2253D70900844F28 /* config.h */; }; @@ -3326,6 +3327,8 @@ 5EFEAD9C22723E390077DFF6 /* Clipboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Clipboard.cpp; sourceTree = ""; }; 5EFEAD9D22723E390077DFF6 /* Clipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipboard.h; sourceTree = ""; }; 5EFEAD9F2273382D0077DFF6 /* AudacityApp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AudacityApp.mm; sourceTree = ""; }; + 5EFEADA122733DD30077DFF6 /* CrashReport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CrashReport.cpp; sourceTree = ""; }; + 5EFEADA222733DD30077DFF6 /* CrashReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CrashReport.h; sourceTree = ""; }; 65326E9E2253D2BE00844F28 /* libmp3lame.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmp3lame.a; sourceTree = BUILT_PRODUCTS_DIR; }; 65326EA72253D68900844F28 /* libmpg123.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmpg123.a; sourceTree = BUILT_PRODUCTS_DIR; }; 65326EA92253D70900844F28 /* AUTHORS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AUTHORS; sourceTree = ""; }; @@ -4294,6 +4297,7 @@ 1790AFE809883BFD008A330A /* BlockFile.cpp */, 5E0A1CDB20E95FF7001AAF8D /* CellularPanel.cpp */, 5EFEAD9C22723E390077DFF6 /* Clipboard.cpp */, + 5EFEADA122733DD30077DFF6 /* CrashReport.cpp */, 1790AFF409883BFD008A330A /* CrossFade.cpp */, 2849B4600A7444BE00ECF12D /* Dependencies.cpp */, 28D000A31A32920C00367B21 /* DeviceChange.cpp */, @@ -4393,6 +4397,7 @@ 5E60AC79214C31B100A82791 /* ClassicThemeAsCeeCode.h */, 5EFEAD9D22723E390077DFF6 /* Clipboard.h */, 1790AFF009883BFD008A330A /* configtemplate.h */, + 5EFEADA222733DD30077DFF6 /* CrashReport.h */, 1790AFF509883BFD008A330A /* CrossFade.h */, 5E60AC7A214C31B100A82791 /* DarkThemeAsCeeCode.h */, 2849B4610A7444BE00ECF12D /* Dependencies.h */, @@ -8509,6 +8514,7 @@ 28851FAD1027F16500152EE1 /* CommandType.cpp in Sources */, 28851FAE1027F16500152EE1 /* CompareAudioCommand.cpp in Sources */, 28851FAF1027F16500152EE1 /* GetTrackInfoCommand.cpp in Sources */, + 5EFEADA322733DD30077DFF6 /* CrashReport.cpp in Sources */, 28851FB01027F16500152EE1 /* HelpCommand.cpp in Sources */, 28851FB11027F16500152EE1 /* MessageCommand.cpp in Sources */, 28851FB21027F16500152EE1 /* SelectCommand.cpp in Sources */, diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp index 1bc4c9e47..c467318a7 100644 --- a/src/AudacityApp.cpp +++ b/src/AudacityApp.cpp @@ -71,6 +71,7 @@ It handles initialization and termination by subclassing wxApp. #include "AudioIO.h" #include "Benchmark.h" #include "Clipboard.h" +#include "CrashReport.h" #include "DirManager.h" #include "commands/CommandHandler.h" #include "commands/AppCommandEvent.h" @@ -97,7 +98,6 @@ It handles initialization and termination by subclassing wxApp. #include "ondemand/ODManager.h" #include "widgets/ErrorDialog.h" #include "prefs/DirectoriesPrefs.h" -#include "prefs/GUIPrefs.h" #include "tracks/ui/Scrubbing.h" #include "widgets/FileHistory.h" @@ -850,7 +850,7 @@ wxLanguageInfo userLangs[] = void AudacityApp::OnFatalException() { #if defined(EXPERIMENTAL_CRASH_REPORT) - GenerateCrashReport(wxDebugReport::Context_Exception); + CrashReport::Generate(wxDebugReport::Context_Exception); #endif exit(-1); @@ -914,59 +914,6 @@ bool AudacityApp::OnExceptionInMainLoop() #pragma warning( pop ) #endif //_MSC_VER -#if defined(EXPERIMENTAL_CRASH_REPORT) -void AudacityApp::GenerateCrashReport(wxDebugReport::Context ctx) -{ - wxDebugReportCompress rpt; - rpt.AddAll(ctx); - - wxFileName fn(FileNames::DataDir(), wxT("audacity.cfg")); - rpt.AddFile(fn.GetFullPath(), _TS("Audacity Configuration")); - rpt.AddFile(FileNames::PluginRegistry(), wxT("Plugin Registry")); - rpt.AddFile(FileNames::PluginSettings(), wxT("Plugin Settings")); - - if (ctx == wxDebugReport::Context_Current) - { - auto saveLang = GUIPrefs::GetLang(); - GUIPrefs::InitLang( wxT("en") ); - auto cleanup = finally( [&]{ GUIPrefs::InitLang( saveLang ); } ); - - rpt.AddText(wxT("audiodev.txt"), gAudioIO->GetDeviceInfo(), wxT("Audio Device Info")); -#ifdef EXPERIMENTAL_MIDI_OUT - rpt.AddText(wxT("mididev.txt"), gAudioIO->GetMidiDeviceInfo(), wxT("MIDI Device Info")); -#endif - } - - auto logger = AudacityLogger::Get(); - if (logger) - { - rpt.AddText(wxT("log.txt"), logger->GetLog(), _TS("Audacity Log")); - } - - bool ok = wxDebugReportPreviewStd().Show(rpt); - -#if defined(__WXMSW__) - wxEventLoop::SetCriticalWindow(NULL); -#endif - - if (ok && rpt.Process()) - { - AudacityTextEntryDialog dlg(NULL, - _("Report generated to:"), - _("Audacity Support Data"), - rpt.GetCompressedFileName(), - wxOK | wxCENTER); - dlg.SetName(dlg.GetTitle()); - dlg.ShowModal(); - - wxLogMessage(wxT("Report generated to: %s"), - rpt.GetCompressedFileName()); - - rpt.Reset(); - } -} -#endif - int AudacityApp::FilterEvent(wxEvent & event) { (void)event;// compiler food (stops unused parameter warning) diff --git a/src/AudacityApp.h b/src/AudacityApp.h index f05d1877f..c1310013b 100644 --- a/src/AudacityApp.h +++ b/src/AudacityApp.h @@ -92,10 +92,6 @@ class AudacityApp final : public wxApp { void AssociateFileTypes(); #endif -#if defined(EXPERIMENTAL_CRASH_REPORT) - void GenerateCrashReport(wxDebugReport::Context ctx); -#endif - #ifdef __WXMAC__ void MacActivateApp(); diff --git a/src/CrashReport.cpp b/src/CrashReport.cpp new file mode 100644 index 000000000..e9d2f8d6f --- /dev/null +++ b/src/CrashReport.cpp @@ -0,0 +1,77 @@ +/********************************************************************** + + Audacity: A Digital Audio Editor + + CrashReport.cpp + + *//*******************************************************************/ + +#include "Audacity.h" +#include "CrashReport.h" +#include "Experimental.h" + +#if defined(EXPERIMENTAL_CRASH_REPORT) + +#include "wxFileNameWrapper.h" +#include "AudacityLogger.h" +#include "AudioIO.h" +#include "FileNames.h" +#include "Internat.h" +#include "prefs/GUIPrefs.h" +#include "widgets/ErrorDialog.h" + +namespace CrashReport { + +void Generate(wxDebugReport::Context ctx) +{ + wxDebugReportCompress rpt; + rpt.AddAll(ctx); + + wxFileNameWrapper fn{ FileNames::DataDir(), wxT("audacity.cfg") }; + rpt.AddFile(fn.GetFullPath(), _TS("Audacity Configuration")); + rpt.AddFile(FileNames::PluginRegistry(), wxT("Plugin Registry")); + rpt.AddFile(FileNames::PluginSettings(), wxT("Plugin Settings")); + + if (ctx == wxDebugReport::Context_Current) + { + auto saveLang = GUIPrefs::GetLang(); + GUIPrefs::InitLang( wxT("en") ); + auto cleanup = finally( [&]{ GUIPrefs::InitLang( saveLang ); } ); + + rpt.AddText(wxT("audiodev.txt"), gAudioIO->GetDeviceInfo(), wxT("Audio Device Info")); +#ifdef EXPERIMENTAL_MIDI_OUT + rpt.AddText(wxT("mididev.txt"), gAudioIO->GetMidiDeviceInfo(), wxT("MIDI Device Info")); +#endif + } + + auto logger = AudacityLogger::Get(); + if (logger) + { + rpt.AddText(wxT("log.txt"), logger->GetLog(), _TS("Audacity Log")); + } + + bool ok = wxDebugReportPreviewStd().Show(rpt); + +#if defined(__WXMSW__) + wxEventLoop::SetCriticalWindow(NULL); +#endif + + if (ok && rpt.Process()) + { + AudacityTextEntryDialog dlg(NULL, + _("Report generated to:"), + _("Audacity Support Data"), + rpt.GetCompressedFileName(), + wxOK | wxCENTER); + dlg.SetName(dlg.GetTitle()); + dlg.ShowModal(); + + wxLogMessage(wxT("Report generated to: %s"), + rpt.GetCompressedFileName()); + + rpt.Reset(); + } +} + +} +#endif diff --git a/src/CrashReport.h b/src/CrashReport.h new file mode 100644 index 000000000..1f4afca74 --- /dev/null +++ b/src/CrashReport.h @@ -0,0 +1,29 @@ +/********************************************************************** + + Audacity: A Digital Audio Editor + + CrashReport.h + + Paul Licameli + split from AudacityApp.h + + **********************************************************************/ + +#ifndef __AUDACITY_CRASH_REPORT__ +#define __AUDACITY_CRASH_REPORT__ + +#include "Audacity.h" +#include "Experimental.h" + +#if defined(EXPERIMENTAL_CRASH_REPORT) + +#include + +namespace CrashReport +{ + void Generate(wxDebugReport::Context ctx); +} + +#endif + +#endif diff --git a/src/Makefile.am b/src/Makefile.am index 6c55efc30..e0e9c404c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -127,6 +127,8 @@ audacity_SOURCES = \ CellularPanel.h \ Clipboard.cpp \ Clipboard.h \ + CrashReport.cpp \ + CrashReport.h \ Dependencies.cpp \ Dependencies.h \ DeviceChange.cpp \ diff --git a/src/Makefile.in b/src/Makefile.in index 1d301e816..277b2adcd 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -298,20 +298,21 @@ am__audacity_SOURCES_DIST = BlockFile.cpp BlockFile.h DirManager.cpp \ BatchCommands.cpp BatchCommands.h BatchProcessDialog.cpp \ BatchProcessDialog.h Benchmark.cpp Benchmark.h \ CellularPanel.cpp CellularPanel.h Clipboard.cpp Clipboard.h \ - Dependencies.cpp Dependencies.h DeviceChange.cpp \ - DeviceChange.h DeviceManager.cpp DeviceManager.h Diags.cpp \ - Diags.h Envelope.cpp Envelope.h Experimental.h FFmpeg.cpp \ - FFmpeg.h FFT.cpp FFT.h FileException.cpp FileException.h \ - FileIO.cpp FileIO.h FileNames.cpp FileNames.h float_cast.h \ - FreqWindow.cpp FreqWindow.h HelpText.cpp HelpText.h \ - HistoryWindow.cpp HistoryWindow.h HitTestResult.h \ - ImageManipulation.cpp ImageManipulation.h \ - InconsistencyException.cpp InconsistencyException.h \ - InterpolateAudio.cpp InterpolateAudio.h LabelDialog.cpp \ - LabelDialog.h LabelTrack.cpp LabelTrack.h LangChoice.cpp \ - LangChoice.h Languages.cpp Languages.h Legacy.cpp Legacy.h \ - Lyrics.cpp Lyrics.h LyricsWindow.cpp LyricsWindow.h \ - MacroMagic.h Matrix.cpp Matrix.h MemoryX.h Menus.cpp Menus.h \ + CrashReport.cpp CrashReport.h Dependencies.cpp Dependencies.h \ + DeviceChange.cpp DeviceChange.h DeviceManager.cpp \ + DeviceManager.h Diags.cpp Diags.h Envelope.cpp Envelope.h \ + Experimental.h FFmpeg.cpp FFmpeg.h FFT.cpp FFT.h \ + FileException.cpp FileException.h FileIO.cpp FileIO.h \ + FileNames.cpp FileNames.h float_cast.h FreqWindow.cpp \ + FreqWindow.h HelpText.cpp HelpText.h HistoryWindow.cpp \ + HistoryWindow.h HitTestResult.h ImageManipulation.cpp \ + ImageManipulation.h InconsistencyException.cpp \ + InconsistencyException.h InterpolateAudio.cpp \ + InterpolateAudio.h LabelDialog.cpp LabelDialog.h \ + LabelTrack.cpp LabelTrack.h LangChoice.cpp LangChoice.h \ + Languages.cpp Languages.h Legacy.cpp Legacy.h Lyrics.cpp \ + Lyrics.h LyricsWindow.cpp LyricsWindow.h MacroMagic.h \ + Matrix.cpp Matrix.h MemoryX.h Menus.cpp Menus.h \ MissingAliasFileDialog.cpp MissingAliasFileDialog.h Mix.cpp \ Mix.h MixerBoard.cpp MixerBoard.h ModuleManager.cpp \ ModuleManager.h NumberScale.h PitchName.cpp PitchName.h \ @@ -634,7 +635,8 @@ am_audacity_OBJECTS = $(am__objects_1) audacity-AboutDialog.$(OBJEXT) \ audacity-BatchCommands.$(OBJEXT) \ audacity-BatchProcessDialog.$(OBJEXT) \ audacity-Benchmark.$(OBJEXT) audacity-CellularPanel.$(OBJEXT) \ - audacity-Clipboard.$(OBJEXT) audacity-Dependencies.$(OBJEXT) \ + audacity-Clipboard.$(OBJEXT) audacity-CrashReport.$(OBJEXT) \ + audacity-Dependencies.$(OBJEXT) \ audacity-DeviceChange.$(OBJEXT) \ audacity-DeviceManager.$(OBJEXT) audacity-Diags.$(OBJEXT) \ audacity-Envelope.$(OBJEXT) audacity-FFmpeg.$(OBJEXT) \ @@ -1349,20 +1351,21 @@ audacity_SOURCES = $(libaudacity_la_SOURCES) AboutDialog.cpp \ BatchCommands.cpp BatchCommands.h BatchProcessDialog.cpp \ BatchProcessDialog.h Benchmark.cpp Benchmark.h \ CellularPanel.cpp CellularPanel.h Clipboard.cpp Clipboard.h \ - Dependencies.cpp Dependencies.h DeviceChange.cpp \ - DeviceChange.h DeviceManager.cpp DeviceManager.h Diags.cpp \ - Diags.h Envelope.cpp Envelope.h Experimental.h FFmpeg.cpp \ - FFmpeg.h FFT.cpp FFT.h FileException.cpp FileException.h \ - FileIO.cpp FileIO.h FileNames.cpp FileNames.h float_cast.h \ - FreqWindow.cpp FreqWindow.h HelpText.cpp HelpText.h \ - HistoryWindow.cpp HistoryWindow.h HitTestResult.h \ - ImageManipulation.cpp ImageManipulation.h \ - InconsistencyException.cpp InconsistencyException.h \ - InterpolateAudio.cpp InterpolateAudio.h LabelDialog.cpp \ - LabelDialog.h LabelTrack.cpp LabelTrack.h LangChoice.cpp \ - LangChoice.h Languages.cpp Languages.h Legacy.cpp Legacy.h \ - Lyrics.cpp Lyrics.h LyricsWindow.cpp LyricsWindow.h \ - MacroMagic.h Matrix.cpp Matrix.h MemoryX.h Menus.cpp Menus.h \ + CrashReport.cpp CrashReport.h Dependencies.cpp Dependencies.h \ + DeviceChange.cpp DeviceChange.h DeviceManager.cpp \ + DeviceManager.h Diags.cpp Diags.h Envelope.cpp Envelope.h \ + Experimental.h FFmpeg.cpp FFmpeg.h FFT.cpp FFT.h \ + FileException.cpp FileException.h FileIO.cpp FileIO.h \ + FileNames.cpp FileNames.h float_cast.h FreqWindow.cpp \ + FreqWindow.h HelpText.cpp HelpText.h HistoryWindow.cpp \ + HistoryWindow.h HitTestResult.h ImageManipulation.cpp \ + ImageManipulation.h InconsistencyException.cpp \ + InconsistencyException.h InterpolateAudio.cpp \ + InterpolateAudio.h LabelDialog.cpp LabelDialog.h \ + LabelTrack.cpp LabelTrack.h LangChoice.cpp LangChoice.h \ + Languages.cpp Languages.h Legacy.cpp Legacy.h Lyrics.cpp \ + Lyrics.h LyricsWindow.cpp LyricsWindow.h MacroMagic.h \ + Matrix.cpp Matrix.h MemoryX.h Menus.cpp Menus.h \ MissingAliasFileDialog.cpp MissingAliasFileDialog.h Mix.cpp \ Mix.h MixerBoard.cpp MixerBoard.h ModuleManager.cpp \ ModuleManager.h NumberScale.h PitchName.cpp PitchName.h \ @@ -2495,6 +2498,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-BlockFile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-CellularPanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-Clipboard.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-CrashReport.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-Dependencies.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-DeviceChange.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audacity-DeviceManager.Po@am__quote@ @@ -3417,6 +3421,20 @@ audacity-Clipboard.obj: Clipboard.cpp @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -c -o audacity-Clipboard.obj `if test -f 'Clipboard.cpp'; then $(CYGPATH_W) 'Clipboard.cpp'; else $(CYGPATH_W) '$(srcdir)/Clipboard.cpp'; fi` +audacity-CrashReport.o: CrashReport.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -MT audacity-CrashReport.o -MD -MP -MF $(DEPDIR)/audacity-CrashReport.Tpo -c -o audacity-CrashReport.o `test -f 'CrashReport.cpp' || echo '$(srcdir)/'`CrashReport.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audacity-CrashReport.Tpo $(DEPDIR)/audacity-CrashReport.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='CrashReport.cpp' object='audacity-CrashReport.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -c -o audacity-CrashReport.o `test -f 'CrashReport.cpp' || echo '$(srcdir)/'`CrashReport.cpp + +audacity-CrashReport.obj: CrashReport.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -MT audacity-CrashReport.obj -MD -MP -MF $(DEPDIR)/audacity-CrashReport.Tpo -c -o audacity-CrashReport.obj `if test -f 'CrashReport.cpp'; then $(CYGPATH_W) 'CrashReport.cpp'; else $(CYGPATH_W) '$(srcdir)/CrashReport.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audacity-CrashReport.Tpo $(DEPDIR)/audacity-CrashReport.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='CrashReport.cpp' object='audacity-CrashReport.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -c -o audacity-CrashReport.obj `if test -f 'CrashReport.cpp'; then $(CYGPATH_W) 'CrashReport.cpp'; else $(CYGPATH_W) '$(srcdir)/CrashReport.cpp'; fi` + audacity-Dependencies.o: Dependencies.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(audacity_CPPFLAGS) $(CPPFLAGS) $(audacity_CXXFLAGS) $(CXXFLAGS) -MT audacity-Dependencies.o -MD -MP -MF $(DEPDIR)/audacity-Dependencies.Tpo -c -o audacity-Dependencies.o `test -f 'Dependencies.cpp' || echo '$(srcdir)/'`Dependencies.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/audacity-Dependencies.Tpo $(DEPDIR)/audacity-Dependencies.Po diff --git a/src/menus/HelpMenus.cpp b/src/menus/HelpMenus.cpp index 8058ee49e..4f6e56db7 100644 --- a/src/menus/HelpMenus.cpp +++ b/src/menus/HelpMenus.cpp @@ -4,9 +4,9 @@ #include #include "../AboutDialog.h" -#include "../AudacityApp.h" #include "../AudacityLogger.h" #include "../AudioIO.h" +#include "../CrashReport.h" #include "../Dependencies.h" #include "../FileNames.h" #include "../Project.h" @@ -141,7 +141,7 @@ void OnCrashReport(const CommandContext &WXUNUSED(context) ) char *p = 0; *p = 1234; #endif - wxGetApp().GenerateCrashReport(wxDebugReport::Context_Current); + CrashReport::Generate(wxDebugReport::Context_Current); } #endif diff --git a/win/Projects/Audacity/Audacity.vcxproj b/win/Projects/Audacity/Audacity.vcxproj index 9ef382d06..e0462b091 100755 --- a/win/Projects/Audacity/Audacity.vcxproj +++ b/win/Projects/Audacity/Audacity.vcxproj @@ -138,6 +138,7 @@ + @@ -499,6 +500,7 @@ + diff --git a/win/Projects/Audacity/Audacity.vcxproj.filters b/win/Projects/Audacity/Audacity.vcxproj.filters index dd3bebc57..0422beaa6 100755 --- a/win/Projects/Audacity/Audacity.vcxproj.filters +++ b/win/Projects/Audacity/Audacity.vcxproj.filters @@ -1094,6 +1094,9 @@ src + + src + src\menus @@ -2221,6 +2224,9 @@ src + + src + src