Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Register changed: PR 25730

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/ChangeLog,v
retrieving revision 1.27
diff -u -r1.27 ChangeLog
--- ChangeLog	1 Nov 2002 16:44:45 -0000	1.27
+++ ChangeLog	5 Nov 2002 16:19:05 -0000
@@ -1,4 +1,10 @@
-2002-11-1 Alain Magloire
+2002-11-05 Alain Magloire
+
+	* src/.../mi/core/cdi/Register.java (setValue): Fire a
+	MIRegisterChangedEvent when changing value.
+	Fix PR:25730
+
+2002-11-01 Alain Magloire
 
 	The change in MISession(), will catch things like starting gdb-5.0
 	with argument "-i mi1", that level of mi is not supported.
Index: src/org/eclipse/cdt/debug/mi/core/cdi/Register.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Register.java,v
retrieving revision 1.4
diff -u -r1.4 Register.java
--- src/org/eclipse/cdt/debug/mi/core/cdi/Register.java	20 Oct 2002 23:28:00 -0000	1.4
+++ src/org/eclipse/cdt/debug/mi/core/cdi/Register.java	5 Nov 2002 16:19:05 -0000
@@ -20,6 +20,7 @@
 import org.eclipse.cdt.debug.mi.core.command.CommandFactory;
 import org.eclipse.cdt.debug.mi.core.command.MIDataListRegisterValues;
 import org.eclipse.cdt.debug.mi.core.command.MIDataWriteRegisterValues;
+import org.eclipse.cdt.debug.mi.core.event.MIRegisterChangedEvent;
 import org.eclipse.cdt.debug.mi.core.output.MIDataListRegisterValuesInfo;
 import org.eclipse.cdt.debug.mi.core.output.MIInfo;
 import org.eclipse.cdt.debug.mi.core.output.MIRegisterValue;
@@ -149,7 +150,7 @@
 		if (parent == null) {
 			MISession mi = getCTarget().getCSession().getMISession();
 			CommandFactory factory = mi.getCommandFactory();
-			int[] regno = new int[]{((RegisterObject)regObject).getId()};
+			int[] regno = new int[]{regObject.getId()};
 			MIDataListRegisterValues registers =
 				factory.createMIDataListRegisterValues(format, regno);
 			try {
@@ -202,7 +203,7 @@
 	public void setValue(String expression) throws CDIException {
 		MISession mi = getCTarget().getCSession().getMISession();
 		CommandFactory factory = mi.getCommandFactory();
-		int[] regnos = new int[]{((RegisterObject)regObject).getId()};
+		int[] regnos = new int[]{regObject.getId()};
 		String[] values = new String[]{expression};
 		MIDataWriteRegisterValues registers =
 				factory.createMIDataWriteRegisterValues(format, regnos, values);
@@ -215,6 +216,11 @@
 		} catch (MIException e) {
 			throw new CDIException(e.getMessage());
 		}
+		// If the assign was succesfull fire a MIRegisterChangedEvent()
+		MIRegisterChangedEvent change = new MIRegisterChangedEvent(registers.getToken(),
+			regObject.getName(), regObject.getId());
+		mi.fireEvent(change);
+
 	}
 
 	/**



Back to the top