[
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);
+
}
/**