View | Details | Raw Unified | Return to bug 245842
Collapse All | Expand All

(-)src/org/eclipse/jface/viewers/ColumnViewerEditor.java (-4 / +10 lines)
Lines 597-610 Link Here
597
	private ViewerCell searchPreviousCell(ViewerRow row,
597
	private ViewerCell searchPreviousCell(ViewerRow row,
598
			ViewerCell currentCell, ViewerCell originalCell, ColumnViewer viewer) {
598
			ViewerCell currentCell, ViewerCell originalCell, ColumnViewer viewer) {
599
		ViewerCell rv = null;
599
		ViewerCell rv = null;
600
		ViewerCell previousCell;
600
		ViewerCell previousCell = null;
601
601
602
		if (currentCell != null) {
602
		if (currentCell != null) {
603
			previousCell = currentCell.getNeighbor(ViewerCell.LEFT, true);
603
			previousCell = currentCell.getNeighbor(ViewerCell.LEFT, true);
604
		} else {
604
		} else {
605
			if (row.getColumnCount() != 0) {
605
			if (row.getColumnCount() != 0) {
606
				previousCell = row.getCell(row.getCreationIndex(row
606
				previousCell = row.getCell(row.getCreationIndex(row.getColumnCount()-1));
607
						.getColumnCount() - 1));
607
				
608
				if( previousCell != null && row.getWidth(previousCell.getColumnIndex()) == 0 ) {
609
					previousCell = previousCell.getNeighbor(ViewerCell.LEFT, true);
610
				}
608
			} else {
611
			} else {
609
				previousCell = row.getCell(0);
612
				previousCell = row.getCell(0);
610
			}
613
			}
Lines 641-652 Link Here
641
			ViewerCell originalCell, ColumnViewer viewer) {
644
			ViewerCell originalCell, ColumnViewer viewer) {
642
		ViewerCell rv = null;
645
		ViewerCell rv = null;
643
646
644
		ViewerCell nextCell;
647
		ViewerCell nextCell = null;
645
648
646
		if (currentCell != null) {
649
		if (currentCell != null) {
647
			nextCell = currentCell.getNeighbor(ViewerCell.RIGHT, true);
650
			nextCell = currentCell.getNeighbor(ViewerCell.RIGHT, true);
648
		} else {
651
		} else {
649
			nextCell = row.getCell(row.getCreationIndex(0));
652
			nextCell = row.getCell(row.getCreationIndex(0));
653
			if( nextCell != null && row.getWidth(nextCell.getColumnIndex()) == 0 ) {
654
				nextCell = nextCell.getNeighbor(ViewerCell.RIGHT, true);
655
			}
650
		}
656
		}
651
657
652
		// No endless loop
658
		// No endless loop

Return to bug 245842