From 9d6d48a002125bd82ef85cf979b4194e9a5e6225 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Thu, 13 Dec 2012 13:24:01 +0200 Subject: [PATCH] Restore compatibility with selectors without slots (#9893) Change-Id: Iea7661ff39d9903f78e290086c1c51f270c8c60d --- client/src/com/vaadin/client/ComponentLocator.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/client/src/com/vaadin/client/ComponentLocator.java b/client/src/com/vaadin/client/ComponentLocator.java index 16e8859d01..10eae54e62 100644 --- a/client/src/com/vaadin/client/ComponentLocator.java +++ b/client/src/com/vaadin/client/ComponentLocator.java @@ -31,6 +31,7 @@ import com.vaadin.client.ui.VGridLayout; import com.vaadin.client.ui.VTabsheetPanel; import com.vaadin.client.ui.VUI; import com.vaadin.client.ui.VWindow; +import com.vaadin.client.ui.orderedlayout.Slot; import com.vaadin.client.ui.orderedlayout.VAbstractOrderedLayout; import com.vaadin.client.ui.window.WindowConnector; import com.vaadin.shared.AbstractComponentState; @@ -654,6 +655,17 @@ public class ComponentLocator { Widget child = iterator.next(); String simpleName2 = Util.getSimpleName(child); + if (!widgetClassName.equals(simpleName2) + && child instanceof Slot) { + /* + * Support legacy tests without any selector for the + * Slot widget (i.e. /VVerticalLayout[0]/VButton[0]) by + * directly checking the stuff inside the slot + */ + child = ((Slot) child).getWidget(); + simpleName2 = Util.getSimpleName(child); + } + if (widgetClassName.equals(simpleName2)) { if (widgetPosition == 0) { w = child; -- 2.39.5