Client Menu Bar broken

Hello, I seem to have broken the Vision Client Menu Bar. Just upgraded to 8.0.10 and brought this project with me. At some point in the past, I had tried to remove the Command menu by deleting it… then I found the Hide option.

Now the Menu Structure is empty and I cannot add anything. The OK and Apply buttons do nothing but trigger this output:

Blockquote
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at com.inductiveautomation.ignition.designer.scripteditor.StartupScriptEditor.saveScript(StartupScriptEditor.java:37)
at com.inductiveautomation.ignition.designer.scripteditor.ScriptEditor.doSave(ScriptEditor.java:66)
at com.inductiveautomation.ignition.designer.scripteditor.GlobalScriptEditor$Dialog.doApply(GlobalScriptEditor.java:196)
at com.inductiveautomation.ignition.designer.gui.AbstractMultiPageDialogPane.doOk(AbstractMultiPageDialogPane.java:85)
at com.inductiveautomation.ignition.designer.gui.AbstractMultiPageDialogPane$1.actionPerformed(AbstractMultiPageDialogPane.java:55)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Do you have any other client event scripts (startup, shutdown, keystroke, etc) that you care about? If not, you can probably take care of this by closing the designer, going into the gateway filesystem (<install directory>/data/projects/<yourProjectName>/com.inductiveautomation.vision/client-event-scripts/) and deleting the entire folder. Once you relaunch the designer, it should automatically create a default resource with no event scripts that you’re then able to customize.

If you do have something to preserve, get in touch with support; they should be able to come up with a way to extract your existing data.

1 Like

That worked perfectly. Thank you!

Good to hear! I filed a ticket anyways, so hopefully nobody else ends up in this scenario.