From 7c662a179ff996ad244eaf17ce19a84ac8ae5095 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Tue, 17 Apr 2018 17:40:59 +0300 Subject: Fix using ConnectorResource icons before attaching ComboBox (#10810) * Fix using ConnectorResource icons before attaching ComboBox * Update Chrome and PhantomJS screenshots --- server/src/main/java/com/vaadin/ui/ComboBox.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'server/src') diff --git a/server/src/main/java/com/vaadin/ui/ComboBox.java b/server/src/main/java/com/vaadin/ui/ComboBox.java index ef1e7cfa84..107e503256 100644 --- a/server/src/main/java/com/vaadin/ui/ComboBox.java +++ b/server/src/main/java/com/vaadin/ui/ComboBox.java @@ -842,6 +842,10 @@ public class ComboBox extends AbstractSingleSelect Resource icon = getItemIconGenerator().apply(value); if (icon != null) { if (icon instanceof ConnectorResource) { + if (!isAttached()) { + // Deferred resource generation. + return; + } setResource("selected", icon); } selectedItemIcon = ResourceReference @@ -851,6 +855,13 @@ public class ComboBox extends AbstractSingleSelect getState().selectedItemIcon = selectedItemIcon; } + @Override + public void attach() { + super.attach(); + + updateSelectedItemIcon(); + } + @Override protected Element writeItem(Element design, T item, DesignContext context) { Element element = design.appendElement("option"); -- cgit v1.2.3