core/gui: use = default instead of trivial constructor/destructor

reported by clang-tidy

Note: drop throw() specifier as it is the 'default' in C++11 for
destructor
This commit is contained in:
Gregory Hainaut 2017-05-06 13:01:33 +02:00
parent 9e101c9ef0
commit d332bb1645
28 changed files with 69 additions and 117 deletions

View File

@ -113,7 +113,7 @@ protected:
public:
using _parent::operator[];
virtual ~CommandDictionary() throw();
virtual ~CommandDictionary() = default;
};
// --------------------------------------------------------------------------------------
@ -128,6 +128,6 @@ protected:
public:
using _parent::operator[];
virtual ~AcceleratorDictionary() throw();
virtual ~AcceleratorDictionary() = default;
void Map( const KeyAcceleratorCode& acode, const char *searchfor );
};

View File

@ -1175,7 +1175,7 @@ protected:
wxString m_empty;
public:
virtual ~pxDudConfig() {}
virtual ~pxDudConfig() = default;
virtual void SetPath(const wxString& ) {}
virtual const wxString& GetPath() const { return m_empty; }
@ -1222,14 +1222,14 @@ class AppIniSaver : public IniSaver
{
public:
AppIniSaver();
virtual ~AppIniSaver() throw() {}
virtual ~AppIniSaver() = default;
};
class AppIniLoader : public IniLoader
{
public:
AppIniLoader();
virtual ~AppIniLoader() throw() {}
virtual ~AppIniLoader() = default;
};
AppIniSaver::AppIniSaver()

View File

@ -50,7 +50,7 @@ protected:
PluginEventType m_evt;
public:
virtual ~CorePluginsEvent() throw() {}
virtual ~CorePluginsEvent() = default;
CorePluginsEvent* Clone() const { return new CorePluginsEvent( *this ); }
explicit CorePluginsEvent( PluginEventType evt, SynchronousActionState* sema=NULL )
@ -107,17 +107,17 @@ class SysExecEvent_AppPluginManager : public SysExecEvent
{
protected:
FnPtr_AppPluginManager m_method;
public:
wxString GetEventName() const { return L"CorePluginsMethod"; }
virtual ~SysExecEvent_AppPluginManager() throw() {}
virtual ~SysExecEvent_AppPluginManager() = default;
SysExecEvent_AppPluginManager* Clone() const { return new SysExecEvent_AppPluginManager( *this ); }
SysExecEvent_AppPluginManager( FnPtr_AppPluginManager method )
{
m_method = method;
}
protected:
void InvokeEvent()
{
@ -138,9 +138,9 @@ protected:
PluginsEnum_t m_pid;
public:
virtual ~LoadSinglePluginEvent() throw() { }
virtual ~LoadSinglePluginEvent() = default;
virtual LoadSinglePluginEvent *Clone() const { return new LoadSinglePluginEvent(*this); }
LoadSinglePluginEvent( PluginsEnum_t pid = PluginId_GS, const wxString& filename=wxEmptyString )
: m_filename( filename )
{
@ -167,15 +167,15 @@ protected:
FnPtr_AppPluginPid m_method;
public:
virtual ~SinglePluginMethodEvent() throw() { }
virtual ~SinglePluginMethodEvent() = default;
virtual SinglePluginMethodEvent *Clone() const { return new SinglePluginMethodEvent(*this); }
SinglePluginMethodEvent( FnPtr_AppPluginPid method=NULL, PluginsEnum_t pid = PluginId_GS )
{
m_pid = pid;
m_method = method;
}
protected:
void InvokeEvent()
{
@ -203,13 +203,6 @@ IMPLEMENT_DYNAMIC_CLASS( SinglePluginMethodEvent, pxActionEvent );
// the main thread from being completely busy while plugins are loaded and initialized.
// (responsiveness is bliss!!) -- air
//
AppCorePlugins::AppCorePlugins()
{
}
AppCorePlugins::~AppCorePlugins() throw()
{
}
static void _SetSettingsFolder()
{
@ -409,7 +402,7 @@ protected:
{
CorePlugins.Load( m_folders );
}
~LoadCorePluginsEvent() throw() {}
~LoadCorePluginsEvent() = default;
};
// --------------------------------------------------------------------------------------
@ -507,7 +500,7 @@ class SysExecEvent_UnloadPlugins : public SysExecEvent
public:
wxString GetEventName() const { return L"UnloadPlugins"; }
virtual ~SysExecEvent_UnloadPlugins() throw() {}
virtual ~SysExecEvent_UnloadPlugins() = default;
SysExecEvent_UnloadPlugins* Clone() const { return new SysExecEvent_UnloadPlugins(*this); }
virtual bool AllowCancelOnExit() const { return false; }
@ -525,7 +518,7 @@ class SysExecEvent_ShutdownPlugins : public SysExecEvent
public:
wxString GetEventName() const { return L"ShutdownPlugins"; }
virtual ~SysExecEvent_ShutdownPlugins() throw() {}
virtual ~SysExecEvent_ShutdownPlugins() = default;
SysExecEvent_ShutdownPlugins* Clone() const { return new SysExecEvent_ShutdownPlugins(*this); }
virtual bool AllowCancelOnExit() const { return false; }

View File

@ -31,8 +31,8 @@ class AppCorePlugins : public SysCorePlugins
typedef SysCorePlugins _parent;
public:
AppCorePlugins();
virtual ~AppCorePlugins() throw();
AppCorePlugins() = default;
virtual ~AppCorePlugins() = default;
void Load( const wxString (&folders)[PluginId_Count] );
void Load( PluginsEnum_t pid, const wxString& srcfile );
@ -43,7 +43,7 @@ public:
void Init( PluginsEnum_t pid );
void Shutdown( PluginsEnum_t pid );
bool Shutdown();
void Close();
void Close();
void Open();
protected:

View File

@ -49,7 +49,7 @@ protected:
public:
wxString GetEventName() const { return L"CoreThreadMethod"; }
virtual ~SysExecEvent_InvokeCoreThreadMethod() throw() {}
virtual ~SysExecEvent_InvokeCoreThreadMethod() = default;
SysExecEvent_InvokeCoreThreadMethod* Clone() const { return new SysExecEvent_InvokeCoreThreadMethod(*this); }
bool AllowCancelOnExit() const { return false; }
@ -708,9 +708,7 @@ BaseScopedCoreThread::BaseScopedCoreThread()
m_alreadyScoped = false;
}
BaseScopedCoreThread::~BaseScopedCoreThread() throw()
{
}
BaseScopedCoreThread::~BaseScopedCoreThread() throw() = default;
// Allows the object to resume execution upon object destruction. Typically called as the last thing
// in the object's scope. Any code prior to this call that causes exceptions will not resume the emulator,

View File

@ -95,7 +95,7 @@ public:
PluginErrorEvent( BaseException* ex=NULL ) : _parent( ex ) {}
PluginErrorEvent( const BaseException& ex ) : _parent( ex ) {}
virtual ~PluginErrorEvent() throw() { }
virtual ~PluginErrorEvent() = default;
virtual PluginErrorEvent *Clone() const { return new PluginErrorEvent(*this); }
protected:
@ -110,7 +110,7 @@ public:
PluginInitErrorEvent( BaseException* ex=NULL ) : _parent( ex ) {}
PluginInitErrorEvent( const BaseException& ex ) : _parent( ex ) {}
virtual ~PluginInitErrorEvent() throw() { }
virtual ~PluginInitErrorEvent() = default;
virtual PluginInitErrorEvent *Clone() const { return new PluginInitErrorEvent(*this); }
protected:
@ -163,7 +163,7 @@ public:
BIOSLoadErrorEvent(BaseException* ex = NULL) : _parent(ex) {}
BIOSLoadErrorEvent(const BaseException& ex) : _parent(ex) {}
virtual ~BIOSLoadErrorEvent() throw() { }
virtual ~BIOSLoadErrorEvent() = default;
virtual BIOSLoadErrorEvent *Clone() const { return new BIOSLoadErrorEvent(*this); }
protected:
@ -233,7 +233,7 @@ protected:
FnPtr_Pcsx2App m_Method;
public:
virtual ~Pcsx2AppMethodEvent() throw() { }
virtual ~Pcsx2AppMethodEvent() = default;
virtual Pcsx2AppMethodEvent *Clone() const { return new Pcsx2AppMethodEvent(*this); }
explicit Pcsx2AppMethodEvent( FnPtr_Pcsx2App method=NULL, SynchronousActionState* sema=NULL )
@ -1048,7 +1048,7 @@ protected:
wxString m_elf_override;
public:
virtual ~SysExecEvent_Execute() throw() {}
virtual ~SysExecEvent_Execute() = default;
SysExecEvent_Execute* Clone() const { return new SysExecEvent_Execute(*this); }
wxString GetEventName() const

View File

@ -71,7 +71,7 @@ pxAppResources::pxAppResources()
{
}
pxAppResources::~pxAppResources() throw() {}
pxAppResources::~pxAppResources() throw() = default;
wxMenu& Pcsx2App::GetRecentIsoMenu()
{

View File

@ -33,7 +33,7 @@ wxDEFINE_EVENT(pxEvt_SetTitleText, wxCommandEvent);
wxDEFINE_EVENT(pxEvt_FlushQueue, wxCommandEvent);
// C++ requires abstract destructors to exist, even though they're abstract.
PipeRedirectionBase::~PipeRedirectionBase() throw() {}
PipeRedirectionBase::~PipeRedirectionBase() throw() = default;
// ----------------------------------------------------------------------------
//
@ -149,10 +149,6 @@ ConsoleLogFrame::ColorArray::ColorArray( int fontsize )
SetFont( fontsize );
}
ConsoleLogFrame::ColorArray::~ColorArray() throw()
{
}
void ConsoleLogFrame::ColorArray::SetFont( int fontsize )
{
const wxFont fixed( pxGetFixedFont( fontsize ) );
@ -274,7 +270,7 @@ public:
WindowPtr = pxTheApp.m_ptr_ProgramLog;
}
virtual ~ScopedLogLock() throw() {}
virtual ~ScopedLogLock() = default;
bool HasWindow() const
{

View File

@ -104,7 +104,7 @@ protected:
std::array<wxTextAttr, ConsoleColors_Count> m_table;
public:
virtual ~ColorArray() throw();
virtual ~ColorArray() = default;
ColorArray( int fontsize=8 );
void SetFont( const wxFont& font );

View File

@ -28,6 +28,4 @@ CpuUsageProvider::CpuUsageProvider() :
{
}
CpuUsageProvider::~CpuUsageProvider() throw()
{
}
CpuUsageProvider::~CpuUsageProvider() throw() = default;

View File

@ -187,10 +187,6 @@ void Dialogs::BaseConfigurationDialog::AddOkCancel( wxSizer* sizer )
*m_extraButtonSizer += screenshotButton|pxMiddle;
}
Dialogs::BaseConfigurationDialog::~BaseConfigurationDialog() throw()
{
}
void Dialogs::BaseConfigurationDialog::OnSetSettingsPage( wxCommandEvent& evt )
{
if( !m_listbook ) return;

View File

@ -46,7 +46,7 @@ namespace Dialogs
bool m_allowApplyActivation;
public:
virtual ~BaseConfigurationDialog() throw();
virtual ~BaseConfigurationDialog() = default;
BaseConfigurationDialog(wxWindow* parent, const wxString& title, int idealWidth);
public:

View File

@ -60,7 +60,7 @@ namespace Panels
{
public:
FirstTimeIntroPanel( wxWindow* parent );
virtual ~FirstTimeIntroPanel() throw() {}
virtual ~FirstTimeIntroPanel() = default;
};
}
@ -163,11 +163,6 @@ FirstTimeWizard::FirstTimeWizard( wxWindow* parent )
Bind(wxEVT_BUTTON, &FirstTimeWizard::OnRestartWizard, this, pxID_RestartWizard);
}
FirstTimeWizard::~FirstTimeWizard() throw()
{
}
void FirstTimeWizard::OnRestartWizard( wxCommandEvent& evt )
{
EndModal( pxID_RestartWizard );

View File

@ -36,7 +36,7 @@ protected:
public:
FirstTimeWizard( wxWindow* parent );
virtual ~FirstTimeWizard() throw();
virtual ~FirstTimeWizard() = default;
wxWizardPage *GetFirstPage() const { return &m_page_intro; }

View File

@ -468,10 +468,6 @@ GSFrame::GSFrame( const wxString& title)
Bind(wxEVT_TIMER, &GSFrame::OnUpdateTitle, this, m_timer_UpdateTitle.GetId());
}
GSFrame::~GSFrame() throw()
{
}
void GSFrame::OnCloseWindow(wxCloseEvent& evt)
{
sApp.OnGsFrameClosed( GetId() );

View File

@ -97,7 +97,7 @@ protected:
public:
GSFrame( const wxString& title);
virtual ~GSFrame() throw();
virtual ~GSFrame() = default;
GSPanel* GetViewport();
void SetFocus();

View File

@ -625,10 +625,6 @@ static const GlobalCommandDescriptor CommandDeclarations[] =
{ NULL }
};
CommandDictionary::~CommandDictionary() throw() {}
AcceleratorDictionary::~AcceleratorDictionary() throw() {}
void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *searchfor )
{
// Search override mapping at ini file

View File

@ -44,7 +44,7 @@ public:
m_ownerid = window->GetId();
}
virtual ~DroppedTooManyFiles() throw() { }
virtual ~DroppedTooManyFiles() = default;
virtual DroppedTooManyFiles *Clone() const { return new DroppedTooManyFiles(*this); }
protected:
@ -73,7 +73,7 @@ public:
m_ownerid = window->GetId();
}
virtual ~DroppedElf() throw() { }
virtual ~DroppedElf() = default;
virtual DroppedElf *Clone() const { return new DroppedElf(*this); }
protected:
@ -122,7 +122,7 @@ public:
m_ownerid = window->GetId();
}
virtual ~DroppedIso() throw() { }
virtual ~DroppedIso() = default;
virtual DroppedIso *Clone() const { return new DroppedIso(*this); }
protected:

View File

@ -734,10 +734,6 @@ void MainEmuFrame::AppendKeycodeNamesToMenuOptions() {
// "Extensible" Plugin Menus
// ------------------------------------------------------------------------
PerPluginMenuInfo::~PerPluginMenuInfo() throw()
{
}
void PerPluginMenuInfo::Populate( PluginsEnum_t pid )
{
if( !pxAssert(pid < PluginId_Count) ) return;

View File

@ -54,7 +54,7 @@ public:
public:
PerPluginMenuInfo() : MyMenu(*new wxMenu()), PluginId (PluginId_Count) {}
virtual ~PerPluginMenuInfo() throw();
virtual ~PerPluginMenuInfo() = default;
void Populate( PluginsEnum_t pid );
void OnUnloaded();

View File

@ -518,7 +518,7 @@ void MainEmuFrame::Menu_Exit_Click(wxCommandEvent &event)
class SysExecEvent_ToggleSuspend : public SysExecEvent
{
public:
virtual ~SysExecEvent_ToggleSuspend() throw() {}
virtual ~SysExecEvent_ToggleSuspend() = default;
wxString GetEventName() const { return L"ToggleSuspendResume"; }

View File

@ -63,7 +63,7 @@ protected:
public:
FileMemoryCard();
virtual ~FileMemoryCard() throw() {}
virtual ~FileMemoryCard() = default;
void Lock();
void Unlock();

View File

@ -48,10 +48,6 @@ Panels::BaseSelectorPanel::BaseSelectorPanel( wxWindow* parent )
Bind(wxEVT_SHOW, &BaseSelectorPanel::OnShow, this);
}
Panels::BaseSelectorPanel::~BaseSelectorPanel() throw()
{
}
void Panels::BaseSelectorPanel::OnShow(wxShowEvent& evt)
{
evt.Skip();
@ -122,10 +118,6 @@ Panels::BiosSelectorPanel::BiosSelectorPanel( wxWindow* parent )
Bind(wxEVT_BUTTON, &BiosSelectorPanel::OnRefreshSelections, this, refreshButton->GetId());
}
Panels::BiosSelectorPanel::~BiosSelectorPanel() throw ()
{
}
void Panels::BiosSelectorPanel::Apply()
{
// User never visited this tab, so there's nothing to apply.

View File

@ -447,7 +447,7 @@ namespace Panels
typedef BaseApplicableConfigPanel _parent;
public:
virtual ~BaseSelectorPanel() throw();
virtual ~BaseSelectorPanel() = default;
BaseSelectorPanel( wxWindow* parent );
virtual void RefreshSelections();
@ -512,7 +512,7 @@ namespace Panels
public:
BiosSelectorPanel( wxWindow* parent );
virtual ~BiosSelectorPanel() throw();
virtual ~BiosSelectorPanel() = default;
protected:
virtual void Apply();

View File

@ -55,7 +55,7 @@ protected:
wxArrayString m_GamesInView;
public:
virtual ~GameDatabaseListView() throw() { }
virtual ~GameDatabaseListView() = default;
GameDatabaseListView( wxWindow* parent );
void CreateColumns();
@ -141,7 +141,7 @@ public:
m_descending = descend;
}
virtual ~BaseGameListSort() throw() {}
virtual ~BaseGameListSort() = default;
// Note: Return TRUE if the first value is less than the second value.
bool operator()(const wxString& i1, const wxString& i2)

View File

@ -159,7 +159,7 @@ protected:
public:
ApplyPluginsDialog( BaseApplicableConfigPanel* panel=NULL );
virtual ~ApplyPluginsDialog() throw() {}
virtual ~ApplyPluginsDialog() = default;
BaseApplicableConfigPanel* GetApplicableConfigPanel() const { return m_panel; }
};
@ -182,7 +182,7 @@ public:
m_owner = owner;
}
virtual ~ApplyOverValidStateEvent() throw() { }
virtual ~ApplyOverValidStateEvent() = default;
virtual ApplyOverValidStateEvent *Clone() const { return new ApplyOverValidStateEvent(*this); }
protected:
@ -203,7 +203,7 @@ protected:
public:
wxString GetEventName() const { return L"PluginSelectorPanel::ApplyPlugins"; }
virtual ~SysExecEvent_ApplyPlugins() throw() {}
virtual ~SysExecEvent_ApplyPlugins() = default;
SysExecEvent_ApplyPlugins* Clone() const { return new SysExecEvent_ApplyPlugins( *this ); }
SysExecEvent_ApplyPlugins( ApplyPluginsDialog* parent, SynchronousActionState& sync )

View File

@ -48,13 +48,13 @@ class SysExecEvent_ClearSavingLoadingFlag : public SysExecEvent
public:
wxString GetEventName() const { return L"ClearSavingLoadingFlag"; }
virtual ~SysExecEvent_ClearSavingLoadingFlag() throw() { }
virtual ~SysExecEvent_ClearSavingLoadingFlag() = default;
SysExecEvent_ClearSavingLoadingFlag()
{
}
SysExecEvent_ClearSavingLoadingFlag* Clone() const { return new SysExecEvent_ClearSavingLoadingFlag(); }
protected:
void InvokeEvent()
{

View File

@ -45,10 +45,10 @@ static const wxChar* EntryFilename_InternalStructures = L"PCSX2 Internal Structu
class BaseSavestateEntry
{
protected:
BaseSavestateEntry() {}
BaseSavestateEntry() = default;
public:
virtual ~BaseSavestateEntry() throw() {}
virtual ~BaseSavestateEntry() = default;
virtual wxString GetFilename() const=0;
virtual void FreezeIn( pxInputStream& reader ) const=0;
@ -60,7 +60,7 @@ class MemorySavestateEntry : public BaseSavestateEntry
{
protected:
MemorySavestateEntry() {}
virtual ~MemorySavestateEntry() throw() {}
virtual ~MemorySavestateEntry() = default;
public:
virtual void FreezeIn( pxInputStream& reader ) const;
@ -83,7 +83,7 @@ public:
m_pid = pid;
}
virtual ~PluginSavestateEntry() throw() {}
virtual ~PluginSavestateEntry() = default;
virtual wxString GetFilename() const;
virtual void FreezeIn( pxInputStream& reader ) const;
@ -147,7 +147,7 @@ void PluginSavestateEntry::FreezeOut( SaveStateBase& writer ) const
class SavestateEntry_EmotionMemory : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_EmotionMemory() throw() {}
virtual ~SavestateEntry_EmotionMemory() = default;
wxString GetFilename() const { return L"eeMemory.bin"; }
u8* GetDataPtr() const { return eeMem->Main; }
@ -163,7 +163,7 @@ public:
class SavestateEntry_IopMemory : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_IopMemory() throw() {}
virtual ~SavestateEntry_IopMemory() = default;
wxString GetFilename() const { return L"iopMemory.bin"; }
u8* GetDataPtr() const { return iopMem->Main; }
@ -173,7 +173,7 @@ public:
class SavestateEntry_HwRegs : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_HwRegs() throw() {}
virtual ~SavestateEntry_HwRegs() = default;
wxString GetFilename() const { return L"eeHwRegs.bin"; }
u8* GetDataPtr() const { return eeHw; }
@ -183,7 +183,7 @@ public:
class SavestateEntry_IopHwRegs : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_IopHwRegs() throw() {}
virtual ~SavestateEntry_IopHwRegs() = default;
wxString GetFilename() const { return L"iopHwRegs.bin"; }
u8* GetDataPtr() const { return iopHw; }
@ -193,7 +193,7 @@ public:
class SavestateEntry_Scratchpad : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_Scratchpad() throw() {}
virtual ~SavestateEntry_Scratchpad() = default;
wxString GetFilename() const { return L"Scratchpad.bin"; }
u8* GetDataPtr() const { return eeMem->Scratch; }
@ -203,7 +203,7 @@ public:
class SavestateEntry_VU0mem : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_VU0mem() throw() {}
virtual ~SavestateEntry_VU0mem() = default;
wxString GetFilename() const { return L"vu0Memory.bin"; }
u8* GetDataPtr() const { return vuRegs[0].Mem; }
@ -213,7 +213,7 @@ public:
class SavestateEntry_VU1mem : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_VU1mem() throw() {}
virtual ~SavestateEntry_VU1mem() = default;
wxString GetFilename() const { return L"vu1Memory.bin"; }
u8* GetDataPtr() const { return vuRegs[1].Mem; }
@ -223,7 +223,7 @@ public:
class SavestateEntry_VU0prog : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_VU0prog() throw() {}
virtual ~SavestateEntry_VU0prog() = default;
wxString GetFilename() const { return L"vu0MicroMem.bin"; }
u8* GetDataPtr() const { return vuRegs[0].Micro; }
@ -233,7 +233,7 @@ public:
class SavestateEntry_VU1prog : public MemorySavestateEntry
{
public:
virtual ~SavestateEntry_VU1prog() throw() {}
virtual ~SavestateEntry_VU1prog() = default;
wxString GetFilename() const { return L"vu1MicroMem.bin"; }
u8* GetDataPtr() const { return vuRegs[1].Micro; }
@ -313,7 +313,7 @@ protected:
public:
wxString GetEventName() const { return L"VM_Download"; }
virtual ~SysExecEvent_DownloadState() throw() {}
virtual ~SysExecEvent_DownloadState() = default;
SysExecEvent_DownloadState* Clone() const { return new SysExecEvent_DownloadState( *this ); }
SysExecEvent_DownloadState( ArchiveEntryList* dest_list=NULL )
{
@ -375,9 +375,7 @@ public:
m_lock_Compress.Assign(mtx_CompressToDisk);
}
virtual ~VmStateCompressThread() throw()
{
}
virtual ~VmStateCompressThread() = default;
protected:
void OnStartInThread()
@ -405,9 +403,7 @@ protected:
public:
wxString GetEventName() const { return L"VM_ZipToDisk"; }
virtual ~SysExecEvent_ZipToDisk() throw()
{
}
virtual ~SysExecEvent_ZipToDisk() = default;
SysExecEvent_ZipToDisk* Clone() const { return new SysExecEvent_ZipToDisk( *this ); }
@ -498,7 +494,7 @@ protected:
public:
wxString GetEventName() const { return L"VM_UnzipFromDisk"; }
virtual ~SysExecEvent_UnzipFromDisk() throw() {}
virtual ~SysExecEvent_UnzipFromDisk() = default;
SysExecEvent_UnzipFromDisk* Clone() const { return new SysExecEvent_UnzipFromDisk( *this ); }
SysExecEvent_UnzipFromDisk( const wxString& filename )
: m_filename( filename )