From ecce7764c958d9b26970238ce1597a94656a53ef Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Mon, 8 Aug 2005 16:23:42 +0000 Subject: [PATCH] 2005-08-08 Alain Magloire Fix PR 106340: ArrayOutOfBoundException * src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java --- core/org.eclipse.cdt.ui/ChangeLog | 4 ++++ .../actions/GoToNextPreviousMemberAction.java | 18 +++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 8d3c06f116c..06c9f69e70a 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,7 @@ +2005-08-08 Alain Magloire + Fix PR 106340: ArrayOutOfBoundException + * src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java + 2005-07-28 David Inglis Disable browsing and hierarchy views/perspectives and open hierarchy action as per diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java index 2a47b95d3a3..fb7f9a64560 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/GoToNextPreviousMemberAction.java @@ -99,9 +99,11 @@ public class GoToNextPreviousMemberAction extends TextEditorAction { * @return Found offset or actual. */ private static int getNextOffset(Integer[] offsets, int actualOffset) { - if (actualOffset < offsets[0].intValue()) - { - return offsets[0].intValue(); + if (offsets.length > 0) { + if (actualOffset < offsets[0].intValue()) + { + return offsets[0].intValue(); + } } for (int i = 0; i < offsets.length - 1; i++) { if (offsets[i].intValue() == actualOffset) { @@ -121,10 +123,12 @@ public class GoToNextPreviousMemberAction extends TextEditorAction { * @return Found offset or actual. */ private static int getPreviousOffset(Integer[] offsets, int actualOffset) { - if (actualOffset > offsets[offsets.length - 1].intValue()) - { - return offsets[offsets.length - 1].intValue(); - } + if (offsets.length > 0) { + if (actualOffset > offsets[offsets.length - 1].intValue()) + { + return offsets[offsets.length - 1].intValue(); + } + } for (int i = 1; i < offsets.length; i++) { if (offsets[i].intValue() == actualOffset) { return offsets[i - 1].intValue();