From eb6cb5ba713939f78f8010d18831c194abd73a11 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Tue, 17 Nov 2009 12:58:54 +0000 Subject: [PATCH] Merged fix for #3584 - "Contextmenu does not work in Safari/GoogleChrome" from 6.1 svn changeset:9839/svn branch:6.2 --- .../terminal/gwt/client/ui/VContextMenu.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java b/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java index b83006bf23..e66e8279b7 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VContextMenu.java @@ -115,19 +115,20 @@ public class VContextMenu extends VOverlay implements SubPartAware { * * super.onBrowserEvent(event); } */ + + private MenuItem getItem(int index) { + return super.getItems().get(index); + } } public Element getSubPartElement(String subPart) { int index = Integer.parseInt(subPart.substring(6)); // ApplicationConnection.getConsole().log( // "Searching element for selection index " + index); - Element wrapperdiv = menu.getElement(); - com.google.gwt.dom.client.TableSectionElement tBody = (TableSectionElement) wrapperdiv - .getFirstChildElement().getFirstChildElement(); - TableRowElement item = tBody.getRows().getItem(index); - com.google.gwt.dom.client.Element clickableDivElement = item - .getFirstChildElement().getFirstChildElement(); - return clickableDivElement.cast(); + MenuItem item = menu.getItem(index); + // ApplicationConnection.getConsole().log("Item: " + item); + // Item refers to the td, which is the parent of the clickable element + return item.getElement().getFirstChildElement().cast(); } public String getSubPartName(Element subElement) { -- 2.39.5