Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2009-08-24 19:56:00 +0400
committerLluis Sanchez <lluis@novell.com>2009-08-24 19:56:00 +0400
commit4d38990bc478d40ab1f0bd93c15193d2cc8ac3bd (patch)
treee6a135165c60c640bb2bf83aa507ffcf4eb84b38 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands
parent9e6dbff811ead2af7eeb9c75e474bceca245a161 (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.cs24
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 {