From: Artur Signell Date: Tue, 17 Nov 2009 12:58:54 +0000 (+0000) Subject: Merged fix for #3584 - "Contextmenu does not work in Safari/GoogleChrome" from 6.1 X-Git-Tag: 6.7.0.beta1~2291 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=eb6cb5ba713939f78f8010d18831c194abd73a11;p=vaadin-framework.git Merged fix for #3584 - "Contextmenu does not work in Safari/GoogleChrome" from 6.1 svn changeset:9839/svn branch:6.2 --- 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) {