Bug 229807 [JFace] ConfigureColumnsDialog does not work correctly with reordered columns
The logic for dealing with column order is backwards. Should be columnObjects[i] = cObjects[columnOrder[i]]; instead of columnObjects[columnOrder[i]] = cObjects[i];
bundles/org.eclipse.jface/src/org/eclipse/jface/internal/ConfigureColumnsDialog.java
return ((TableColumn) item).getWidth();
		} else if (item instanceof TreeColumn) {
			return ((TreeColumn) item).getWidth();
		}
		return 0;
	}
	/**
	 * @return
	 */
	private Item[] getViewerColumns() {
		if (targetControl instanceof Table) {
			return ((Table) targetControl).getColumns();
		} else if (targetControl instanceof Tree) {
			return ((Tree) targetControl).getColumns();
		}
		return new Item[0];
	}
	private void handleSelectionChanged(int index) {
		ColumnObject c = columnObjects[index];
		text.setText(Integer.toString(c.width));
		text.setEnabled(c.resizable);
		if (moveableColumnsFound) {
			upButton.setEnabled(c.moveable && index > 0);
			downButton.setEnabled(c.moveable
					&& index + 1 < table.getItemCount());
		}
	}
	protected void okPressed() {
		int[] columnOrder = new int[columnObjects.length];
		for (int i = 0; i < columnObjects.length; i++) {