diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/tracepointactions/TracepointActionsList.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/tracepointactions/TracepointActionsList.java index be64807ef76..e4184e7bddc 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/tracepointactions/TracepointActionsList.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/tracepointactions/TracepointActionsList.java @@ -132,7 +132,9 @@ public class TracepointActionsList extends Composite { TableItem[] currentItems = table.getItems(); for (int i = 0; i < currentItems.length; i++) { if (i > 0) { - result.append(','); + // Keep a delimiter between the different action strings + // so we can separate them again. + result.append(TracepointActionManager.TRACEPOINT_ACTION_DELIMITER); } result.append(((ITracepointAction) currentItems[i].getData()).getName()); } @@ -179,7 +181,7 @@ public class TracepointActionsList extends Composite { public void setNames(String actionNames) { table.removeAll(); - String[] names = actionNames.split(","); //$NON-NLS-1$ + String[] names = actionNames.split(TracepointActionManager.TRACEPOINT_ACTION_DELIMITER); for (String actionName : names) { ITracepointAction action = TracepointActionManager.getInstance().findAction(actionName); diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/TracepointActionManager.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/TracepointActionManager.java index cb415e7a069..a96b74bdbfc 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/TracepointActionManager.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/internal/tracepointactions/TracepointActionManager.java @@ -39,6 +39,10 @@ public class TracepointActionManager { private static final String TRACEPOINT_ACTION_DATA = "TracepointActionManager.actionData"; //$NON-NLS-1$ private static final TracepointActionManager fTracepointActionManager = new TracepointActionManager(); + // We need a delimiter that the user won't type directly. + // Bug 346215 + public static final String TRACEPOINT_ACTION_DELIMITER = "%_#"; //$NON-NLS-1$ + private ArrayList tracepointActions = null; private TracepointActionManager() { diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBreakpoints_7_0.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBreakpoints_7_0.java index 0d230145b7e..92d975b92f1 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBreakpoints_7_0.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBBreakpoints_7_0.java @@ -325,7 +325,7 @@ public class GDBBreakpoints_7_0 extends MIBreakpoints } private ITracepointAction[] generateGdbCommands(String actionStr) { - String[] actionNames = actionStr.split(","); //$NON-NLS-1$ + String[] actionNames = actionStr.split(TracepointActionManager.TRACEPOINT_ACTION_DELIMITER); ITracepointAction[] actions = new ITracepointAction[actionNames.length]; TracepointActionManager actionManager = TracepointActionManager.getInstance();