[Monodevelop-patches-list] r1106 - trunk/MonoDevelop/src/Main/Base/Services

commit-watcher at mono-cvs.ximian.com commit-watcher at mono-cvs.ximian.com
Thu Mar 4 02:43:51 EST 2004


Author: martin
Date: 2004-03-04 02:43:51 -0500 (Thu, 04 Mar 2004)
New Revision: 1106

Modified:
   trunk/MonoDevelop/src/Main/Base/Services/DebuggingService.cs
Log:
Go, baby, go - the bug is fixed :-)


Modified: trunk/MonoDevelop/src/Main/Base/Services/DebuggingService.cs
===================================================================
--- trunk/MonoDevelop/src/Main/Base/Services/DebuggingService.cs	2004-03-04 07:06:15 UTC (rev 1105)
+++ trunk/MonoDevelop/src/Main/Base/Services/DebuggingService.cs	2004-03-04 07:43:51 UTC (rev 1106)
@@ -31,12 +31,16 @@
 
 		public DebuggingService()
 		{
+			DebuggerBackend.Initialize ();
 		}
 		
 		public override void UnloadService ()
 		{
-			if (Debugging)
-				proc.Kill ();
+			if (Debugging) {
+				backend.Dispose ();
+				backend = null;
+				proc = null;
+			}
 
 			base.UnloadService ();
 		}
@@ -127,9 +131,29 @@
 					Console.WriteLine ("Couldn't insert breakpoint " + key);
 			}
 
+			proc.TargetEvent += new TargetEventHandler (target_event);
+
 			proc.Continue (false);
 		}
 
+		private void target_event (object sender, TargetEventArgs args)
+		{
+			Console.WriteLine ("TARGET EVENT: {0}", args);
+
+			switch (args.Type) {
+			case TargetEventType.TargetExited:
+			case TargetEventType.TargetSignaled:
+				Gtk.Timeout.Add (1, new Gtk.Function (KillApplication));
+				break;
+			}
+		}
+
+		bool KillApplication ()
+		{
+			UnloadService ();
+			return false;
+		}
+
 		public void Run (string[] argv)
 		{
 			if (Debugging)




More information about the Monodevelop-patches-list mailing list