From 4287b85da1fd63f7d8ae4594d09d665d8b85233a Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Tue, 13 Sep 2011 14:04:34 +0000 Subject: #7101 ComponentLocator should only return elements that are attached to the DOM svn changeset:20993/svn branch:6.7 --- .../terminal/gwt/client/ComponentLocator.java | 2 +- .../componentlocator/TestDetachedNotPresent.html | 62 ++++++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 tests/src/com/vaadin/tests/gwtadapter/componentlocator/TestDetachedNotPresent.html diff --git a/src/com/vaadin/terminal/gwt/client/ComponentLocator.java b/src/com/vaadin/terminal/gwt/client/ComponentLocator.java index 25edb0f7d2..e6d2e59020 100644 --- a/src/com/vaadin/terminal/gwt/client/ComponentLocator.java +++ b/src/com/vaadin/terminal/gwt/client/ComponentLocator.java @@ -326,7 +326,7 @@ public class ComponentLocator { String parts[] = path.split(SUBPART_SEPARATOR, 2); String widgetPath = parts[0]; Widget w = getWidgetFromPath(widgetPath); - if (w == null) { + if (w == null || !Util.isAttachedAndDisplayed(w)) { return null; } diff --git a/tests/src/com/vaadin/tests/gwtadapter/componentlocator/TestDetachedNotPresent.html b/tests/src/com/vaadin/tests/gwtadapter/componentlocator/TestDetachedNotPresent.html new file mode 100644 index 0000000000..24e5e992ca --- /dev/null +++ b/tests/src/com/vaadin/tests/gwtadapter/componentlocator/TestDetachedNotPresent.html @@ -0,0 +1,62 @@ + + + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
open/run/com.vaadin.tests.components.table.Tables?restartApplication
mouseClickvaadin=runcomvaadintestscomponentstableTables::PID_Smenu#item040,10
mouseClickvaadin=runcomvaadintestscomponentstableTables::Root/VOverlay[0]/VMenuBar[0]#item829,8
mouseClickvaadin=runcomvaadintestscomponentstableTables::Root/VOverlay[1]/VMenuBar[0]#item2103,3
mouseClickvaadin=runcomvaadintestscomponentstableTables::Root/VOverlay[2]/VMenuBar[0]#item134,6
contextmenuvaadin=runcomvaadintestscomponentstableTables::PID_StestComponent/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[0]/domChild[0]
assertElementPresentvaadin=runcomvaadintestscomponentstableTables::Root/VContextMenu[0]#option015,8
mouseClickvaadin=runcomvaadintestscomponentstableTables::PID_StestComponent/domChild[1]/domChild[0]/domChild[1]/domChild[0]/domChild[0]/domChild[2]/domChild[0]37,9
assertElementNotPresentvaadin=runcomvaadintestscomponentstableTables::Root/VContextMenu[0]#option015,8
+ + \ No newline at end of file -- cgit v1.2.3