diff --git a/src/commands/ScriptCommandRelay.cpp b/src/commands/ScriptCommandRelay.cpp index 384fee65a..a0d57426b 100644 --- a/src/commands/ScriptCommandRelay.cpp +++ b/src/commands/ScriptCommandRelay.cpp @@ -24,8 +24,8 @@ code out of ModuleManager. #include "CommandTargets.h" #include "CommandBuilder.h" #include "AppCommandEvent.h" -#include "../Project.h" #include +#include #include // Declare static class members @@ -52,13 +52,16 @@ void ScriptCommandRelay::Run() } /// Send a command to a project, to be applied in that context. -void ScriptCommandRelay::PostCommand(AudacityProject *project, const OldStyleCommandPointer &cmd) +void ScriptCommandRelay::PostCommand( + wxWindow *pWindow, const OldStyleCommandPointer &cmd) { - wxASSERT(project != NULL); + wxASSERT( pWindow ); wxASSERT(cmd != NULL); - AppCommandEvent ev; - ev.SetCommand(cmd); - project->GetEventHandler()->AddPendingEvent(ev); + if ( pWindow ) { + AppCommandEvent ev; + ev.SetCommand(cmd); + pWindow->GetEventHandler()->AddPendingEvent(ev); + } } /// This is the function which actually obeys one command. Rather than applying @@ -71,9 +74,8 @@ int ExecCommand(wxString *pIn, wxString *pOut) CommandBuilder builder(*pIn); if (builder.WasValid()) { - AudacityProject *project = GetActiveProject(); OldStyleCommandPointer cmd = builder.GetCommand(); - ScriptCommandRelay::PostCommand(project, cmd); + ScriptCommandRelay::PostCommand(wxTheApp->GetTopWindow(), cmd); *pOut = wxEmptyString; } diff --git a/src/commands/ScriptCommandRelay.h b/src/commands/ScriptCommandRelay.h index e83377629..999b0fdac 100644 --- a/src/commands/ScriptCommandRelay.h +++ b/src/commands/ScriptCommandRelay.h @@ -20,11 +20,11 @@ #include "../MemoryX.h" +class wxWindow; class CommandHandler; class ResponseQueue; class Response; class ResponseQueueTarget; -class AudacityProject; class OldStyleCommand; using OldStyleCommandPointer = std::shared_ptr; class wxString; @@ -50,7 +50,8 @@ class ScriptCommandRelay static void SetCommandHandler(CommandHandler &ch); static void Run(); - static void PostCommand(AudacityProject *project, const OldStyleCommandPointer &cmd); + static void PostCommand( + wxWindow *pWindow, const OldStyleCommandPointer &cmd); static void SendResponse(const wxString &response); static Response ReceiveResponse(); static std::shared_ptr GetResponseTarget();