From 76c4017e4a19b91d0d71ea2e54caae9dffd11be6 Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Tue, 22 Sep 2020 12:05:00 -0400 Subject: [PATCH] Fixed copy action bug in table that caused wrong columns to get copied Closes #1628 --- .../src/main/java/docking/widgets/table/GTable.java | 7 ++++--- .../src/main/java/docking/widgets/table/TableUtils.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTable.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTable.java index 6417c6c161..fc815a0c7f 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTable.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTable.java @@ -1013,15 +1013,16 @@ public class GTable extends JTable { return updated; } - private Object getCellValue(int row, int column) { + private Object getCellValue(int row, int viewColumn) { RowObjectTableModel rowModel = getRowObjectTableModel(); if (rowModel == null) { - Object value = super.getValueAt(row, column); + Object value = super.getValueAt(row, viewColumn); return maybeConvertValue(value); } Object rowObject = rowModel.getRowObject(row); - String stringValue = TableUtils.getTableCellStringValue(rowModel, rowObject, column); + int modelColumn = convertColumnIndexToModel(viewColumn); + String stringValue = TableUtils.getTableCellStringValue(rowModel, rowObject, modelColumn); return maybeConvertValue(stringValue); } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java index c4d3373d46..8e21218f3e 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/TableUtils.java @@ -37,7 +37,7 @@ public class TableUtils { * @param The model's row object type * @param model the model * @param rowObject the row object for the row being queried - * @param column the column index + * @param column the column index in the table model * @return the string value; null if no value can be fabricated */ public static String getTableCellStringValue(RowObjectTableModel model,