Studio bug - 7.2.2 - ColorPicker with rgbVisible=false, swatchesVisible=true = Exception!

If you have a colorPicker, and set rgbVisible=false and swatchesVisible=true (and leave HSV at the default which would be false), you get an exception when trying to open the designer:

2020-03-27 09:02:14,758 [ 306442]  DEBUG - .designer.ScreenLayoutDesigner - Exception during Screen Designer activation 
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.haulmont.studio.ui.sd.layout.model.baseprop.BooleanComponentProperty.setValue(BooleanComponentProperty.java:93)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.setComponentProperties(ComponentModelMapper.java:686)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:453)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:580)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:523)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:580)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:580)
	at com.haulmont.studio.intellij.ui.sd.designer.ComponentModelMapper.updateComponentFromModel(ComponentModelMapper.java:580)
	at com.haulmont.studio.intellij.ui.sd.designer.ScreenLayoutDesigner.lambda$null$1(ScreenLayoutDesigner.java:174)
	at com.haulmont.studio.ui.util.UiWrapper.lambda$runComponent$0(UiWrapper.java:17)
	at com.haulmont.studio.ui.util.UiWrapper.lambda$compute$2(UiWrapper.java:48)
	at com.vaadin.ui.UI.accessSynchronously(UI.java:1392)
	at com.haulmont.studio.ui.util.UiWrapper.compute(UiWrapper.java:46)
	at com.haulmont.studio.ui.util.UiWrapper.computeComponent(UiWrapper.java:30)
	at com.haulmont.studio.ui.util.UiWrapper.runComponent(UiWrapper.java:16)
	at com.haulmont.studio.intellij.ui.sd.designer.ScreenLayoutDesigner.lambda$updateComponentFromModel$2(ScreenLayoutDesigner.java:173)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:312)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:433)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:416)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:878)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:827)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:466)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:465)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Cannot hide all tabs.
	at com.vaadin.ui.AbstractColorPicker.setRGBVisibility(AbstractColorPicker.java:307)
	at com.haulmont.studio.ui.sd.layout.gui.impl.ColorPicker.setRgbVisible(ColorPicker.java:231)
	... 42 more

Hi @jon.craig!
Thanks for the bug report. The issue will be fixed in the next bug-fix release.
See: https://youtrack.cuba-platform.com/issue/STUDIO-8121

1 Like