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>2010-04-26 20:56:24 +0400
committerLluis Sanchez <lluis@novell.com>2010-04-26 20:56:24 +0400
commit940829885758450b9943fa030b9015b6a881545c (patch)
tree0902f6bf924a017b46d7212a82d2aac94b30c51a /main/src/addins/GnomePlatform
parentcc279afd85a068252939c84b18afe1814f58cd70 (diff)
* src/addins/GnomePlatform/GnomePlatform.cs:
* src/addins/WindowsPlatform/WindowsPlatform.cs: * src/core/MonoDevelop.Ide/MonoDevelop.Ide.Desktop/PlatformService.cs: * src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/ProcessService.cs: * src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft/SoftDebuggerEngine.cs: External console processes are now wrapped by a IProcessAsyncOperation interface, instead of a Process instance. In this way it is possible to create external consoles which are not directly bound to a process. * src/addins/MonoDevelop.Debugger.Soft/Mono.Debugging.Soft/Mono.Debugger.Soft.dll: * src/addins/MonoDevelop.Debugger.Soft/Mono.Debugging.Soft/Mono.Debugger.Soft.dll.mdb: Updated. svn path=/trunk/monodevelop/; revision=156114
Diffstat (limited to 'main/src/addins/GnomePlatform')
-rw-r--r--main/src/addins/GnomePlatform/ChangeLog7
-rw-r--r--main/src/addins/GnomePlatform/GnomePlatform.cs22
2 files changed, 18 insertions, 11 deletions
diff --git a/main/src/addins/GnomePlatform/ChangeLog b/main/src/addins/GnomePlatform/ChangeLog
index d75e043e63..6e0dfbbae2 100644
--- a/main/src/addins/GnomePlatform/ChangeLog
+++ b/main/src/addins/GnomePlatform/ChangeLog
@@ -1,3 +1,10 @@
+2010-04-26 Lluis Sanchez Gual <lluis@novell.com>
+
+ * GnomePlatform.cs: External console processes are now wrapped
+ by a IProcessAsyncOperation interface, instead of a Process
+ instance. In this way it is possible to create external
+ consoles which are not directly bound to a process.
+
2010-03-29 Lluis Sanchez Gual <lluis@novell.com>
* GnomePlatform.cs: Moved external console creation to the
diff --git a/main/src/addins/GnomePlatform/GnomePlatform.cs b/main/src/addins/GnomePlatform/GnomePlatform.cs
index e8a6210a57..38f40ba8fc 100644
--- a/main/src/addins/GnomePlatform/GnomePlatform.cs
+++ b/main/src/addins/GnomePlatform/GnomePlatform.cs
@@ -33,6 +33,7 @@ using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;
+using MonoDevelop.Core.Execution;
namespace MonoDevelop.Platform
{
@@ -182,22 +183,21 @@ namespace MonoDevelop.Platform
bool terminal_probed;
TerminalRunnerHandler runner;
- public override ProcessStartInfo CreateConsoleProcessInfo (string command, string commandArguments,
- string workingDirectory, IDictionary<string, string> environmentVariables, string title, bool pauseWhenFinished)
+ public override IProcessAsyncOperation StartConsoleProcess (ProcessStartInfo psi, string title, bool pauseWhenFinished)
{
ProbeTerminal ();
- string exec = runner (command, commandArguments, workingDirectory, title, pauseWhenFinished);
+ string exec = runner (psi.FileName, psi.Arguments, psi.WorkingDirectory, title, pauseWhenFinished);
- ProcessStartInfo psi = new ProcessStartInfo (terminal_command, exec);
- psi.WorkingDirectory = workingDirectory;
+ psi.FileName = terminal_command;
+ psi.Arguments = exec;
+ psi.CreateNoWindow = true;
psi.UseShellExecute = false;
-
- if (environmentVariables != null)
- foreach (KeyValuePair<string, string> kvp in environmentVariables)
- psi.EnvironmentVariables [kvp.Key] = kvp.Value;
-
- return psi;
+
+ ProcessWrapper proc = new ProcessWrapper ();
+ proc.StartInfo = psi;
+ proc.Start ();
+ return proc;
}
#region Terminal runner implementations