diff options
author | Lluis Sanchez <lluis@novell.com> | 2009-08-24 19:56:00 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2009-08-24 19:56:00 +0400 |
commit | 4d38990bc478d40ab1f0bd93c15193d2cc8ac3bd (patch) | |
tree | e6a135165c60c640bb2bf83aa507ffcf4eb84b38 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands | |
parent | 9e6dbff811ead2af7eeb9c75e474bceca245a161 (diff) |
* MonoDevelop.Ide.Commands/ToolsCommands.cs: Document.Save can only
be called from the gui thread.
* MonoDevelop.Ide.Gui/ProjectOperations.cs: Before building, don't
autosave files which don't belong to a project. Fixes bug #498686 -
Compiling a solution/project with a file that doesn't belong to any
project MD ask for write the file.
svn path=/trunk/monodevelop/; revision=140518
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs index 86af5babbb..ccc55a41e8 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ToolsCommands.cs @@ -75,18 +75,10 @@ namespace MonoDevelop.Ide.Commands protected override void Run (object dataItem) { - ExternalTools.ExternalTool externalTool = (ExternalTools.ExternalTool)dataItem; - DispatchService.BackgroundDispatch (new StatefulMessageHandler (RunExternalTool), externalTool); - } - - void RunExternalTool (object externalTool) - { - ExternalTools.ExternalTool tool = (ExternalTools.ExternalTool) externalTool; - - string commandTool = StringParserService.Parse (tool.Command); + ExternalTools.ExternalTool tool = (ExternalTools.ExternalTool)dataItem; + string argumentsTool = StringParserService.Parse (tool.Arguments); - string initialDirectoryTool = StringParserService.Parse (tool.InitialDirectory); - + //Save current file checkbox if (tool.SaveCurrentFile && IdeApp.Workbench.ActiveDocument != null) IdeApp.Workbench.ActiveDocument.Save (); @@ -97,6 +89,16 @@ namespace MonoDevelop.Ide.Commands argumentsTool = StringParserService.Parse (customerArguments); } + DispatchService.BackgroundDispatch (delegate { + RunExternalTool (tool, argumentsTool); + }); + } + + void RunExternalTool (ExternalTools.ExternalTool tool, string argumentsTool) + { + string commandTool = StringParserService.Parse (tool.Command); + string initialDirectoryTool = StringParserService.Parse (tool.InitialDirectory); + //Execute tool IProgressMonitor progressMonitor = IdeApp.Workbench.ProgressMonitors.GetRunProgressMonitor (); try { |