tmf: Bug 559275: AIOOBE in BaseDataProviderTimeGraphView

Change-Id: Ie9e41979f1a0e6358033855a155cf4209f3b348e
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/156030
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/views/timegraph/messages.properties b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/views/timegraph/messages.properties
index 9ecba68..b7bcd9d 100644
--- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/views/timegraph/messages.properties
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/views/timegraph/messages.properties
@@ -1,9 +1,9 @@
 ###############################################################################
-# Copyright (c) 2019 Ericsson
+# Copyright (c) 2019, 2020 Ericsson
 #
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
 # http://www.eclipse.org/legal/epl-v10.html
 ###############################################################################
-BaseDataProviderTimeGraphView_OpenSourceActionName=Open Souce Code
+BaseDataProviderTimeGraphView_OpenSourceActionName=Open Source Code
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/BaseDataProviderTimeGraphView.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/BaseDataProviderTimeGraphView.java
index d99d5fc..ae27de5 100644
--- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/BaseDataProviderTimeGraphView.java
+++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/BaseDataProviderTimeGraphView.java
@@ -787,14 +787,13 @@
         ISelection selection = getSite().getSelectionProvider().getSelection();
         if (selection instanceof IStructuredSelection) {
             IStructuredSelection sSel = (IStructuredSelection) selection;
-            Object firstElement = sSel.getFirstElement();
-            if (firstElement instanceof TimeGraphEntry) {
-                Object entryObject = sSel.toArray()[1];
-                if (entryObject instanceof TimeEvent) {
-                    TimeEvent event = (TimeEvent) entryObject;
+            for (Object element : sSel.toArray()) {
+                if (element instanceof TimeEvent) {
+                    TimeEvent event = (TimeEvent) element;
                     IContributionItem contribItem = createOpenSourceCodeAction(getPresentationProvider().getEventHoverToolTipInfo(event, getTimeGraphViewer().getSelectionBegin()));
                     if (contribItem != null) {
                         menuManager.add(contribItem);
+                        break;
                     }
                 }
             }