1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 16:10:06 +02:00

Move AudacityApp::GenerateCrashReport to its own files

This commit is contained in:
Paul Licameli 2019-05-17 16:29:31 -04:00
parent 8da6529329
commit b04387a21d
11 changed files with 175 additions and 90 deletions

View File

@ -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

View File

@ -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 = "<group>"; };
5EFEAD9D22723E390077DFF6 /* Clipboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Clipboard.h; sourceTree = "<group>"; };
5EFEAD9F2273382D0077DFF6 /* AudacityApp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AudacityApp.mm; sourceTree = "<group>"; };
5EFEADA122733DD30077DFF6 /* CrashReport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CrashReport.cpp; sourceTree = "<group>"; };
5EFEADA222733DD30077DFF6 /* CrashReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CrashReport.h; sourceTree = "<group>"; };
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 = "<group>"; };
@ -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 */,

View File

@ -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)

View File

@ -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();

77
src/CrashReport.cpp Normal file
View File

@ -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

29
src/CrashReport.h Normal file
View File

@ -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 <wx/debugrpt.h>
namespace CrashReport
{
void Generate(wxDebugReport::Context ctx);
}
#endif
#endif

View File

@ -127,6 +127,8 @@ audacity_SOURCES = \
CellularPanel.h \
Clipboard.cpp \
Clipboard.h \
CrashReport.cpp \
CrashReport.h \
Dependencies.cpp \
Dependencies.h \
DeviceChange.cpp \

View File

@ -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

View File

@ -4,9 +4,9 @@
#include <wx/textctrl.h>
#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

View File

@ -138,6 +138,7 @@
<ClCompile Include="..\..\..\src\blockfile\NotYetAvailableException.cpp" />
<ClCompile Include="..\..\..\src\CellularPanel.cpp" />
<ClCompile Include="..\..\..\src\Clipboard.cpp" />
<ClCompile Include="..\..\..\src\CrashReport.cpp" />
<ClCompile Include="..\..\..\src\commands\AudacityCommand.cpp" />
<ClCompile Include="..\..\..\src\commands\CommandContext.cpp" />
<ClCompile Include="..\..\..\src\commands\CommandTargets.cpp" />
@ -499,6 +500,7 @@
<ClInclude Include="..\..\..\src\blockfile\NotYetAvailableException.h" />
<ClInclude Include="..\..\..\src\CellularPanel.h" />
<ClInclude Include="..\..\..\src\Clipboard.h" />
<ClInclude Include="..\..\..\src\CrashReport.h" />
<ClInclude Include="..\..\..\src\commands\AudacityCommand.h" />
<ClInclude Include="..\..\..\src\commands\CommandContext.h" />
<ClInclude Include="..\..\..\src\commands\CommandFlag.h" />

View File

@ -1094,6 +1094,9 @@
<ClCompile Include="..\..\..\src\Clipboard.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\CrashReport.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\menus\WindowMenus.cpp">
<Filter>src\menus</Filter>
</ClCompile>
@ -2221,6 +2224,9 @@
<ClInclude Include="..\..\..\src\Clipboard.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\CrashReport.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\AdornedRulerPanel.h">
<Filter>src</Filter>
</ClInclude>