ChrisRM / material-theme-jetbrains

JetBrains theme of Material Theme
Other
7.83k stars 450 forks source link

Exception thrown after settings changed in Material Theme UI #1697

Closed welcoMattic closed 3 years ago

welcoMattic commented 3 years ago

Summary

Exception thrown by the plugin on PHPStorm 2021.1 EAP with Material Theme UI 6.1.0 (with activated licence)

java.lang.NullPointerException
    at com.intellij.ide.HelpTooltip.deriveDescriptionFont(HelpTooltip.java:551)
    at com.intellij.ide.HelpTooltip.createTipPanel(HelpTooltip.java:398)
    at com.intellij.ide.HelpTooltip.initPopupBuilder(HelpTooltip.java:335)
    at com.intellij.ide.HelpTooltip.installOn(HelpTooltip.java:302)
    at com.intellij.openapi.actionSystem.impl.ActionButton.updateToolTipText(ActionButton.java:386)
    at com.intellij.openapi.actionSystem.impl.ActionButton.update(ActionButton.java:282)
    at com.intellij.openapi.actionSystem.impl.ActionButton.addNotify(ActionButton.java:276)
    at com.jetbrains.rd.platform.codeWithMe.toolbar.CWMShowPopupAction$createCustomComponent$1.addNotify(CWMShowPopupAction.kt:154)
    at java.desktop/java.awt.Container.addImpl(Container.java:1146)
    at java.desktop/java.awt.Container.add(Container.java:460)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.fillToolBar(ActionToolbarImpl.java:316)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.actionsUpdated(ActionToolbarImpl.java:1137)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImpl(ActionToolbarImpl.java:1117)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$2.updateActionsImpl(ActionToolbarImpl.java:174)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:151)
    at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.updateActions(ToolbarUpdater.java:70)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImmediately(ActionToolbarImpl.java:1096)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImmediately(ActionToolbarImpl.java:1091)
    at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.addNotify(ActionToolbarImpl.java:212)
    at com.intellij.ide.navigationToolbar.experimental.NewToolbarRootPaneExtension.addGroupComponent(NewToolbarRootPaneExtension.kt:75)
    at com.intellij.ide.navigationToolbar.experimental.NewToolbarRootPaneExtension.revalidate(NewToolbarRootPaneExtension.kt:107)
    at com.intellij.ide.navigationToolbar.experimental.NewToolbarRootPaneExtension.uiSettingsChanged(NewToolbarRootPaneExtension.kt:128)
    at com.intellij.openapi.wm.impl.IdeRootPane.uiSettingsChanged(IdeRootPane.java:365)
    at jdk.internal.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:123)
    at com.intellij.util.EventDispatcher.lambda$createMulticaster$1(EventDispatcher.java:86)
    at com.sun.proxy.$Proxy30.uiSettingsChanged(Unknown Source)
    at com.intellij.ide.ui.UISettings.fireUISettingsChanged(UISettings.kt:608)
    at com.intellij.openapi.wm.impl.IdeBackgroundUtil.repaintAllWindows(IdeBackgroundUtil.java:205)
    at com.mallowigi.idea.themes.themes.MTAbstractTheme.removeBackgroundImage(MTAbstractTheme.java:561)
    at com.mallowigi.idea.themes.themes.MTAbstractTheme.installBackgroundImage(MTAbstractTheme.java:519)
    at com.mallowigi.idea.themes.themes.MTAbstractTheme.activate(MTAbstractTheme.java:124)
    at com.mallowigi.idea.MTThemeManager.activate(MTThemeManager.java:363)
    at com.mallowigi.idea.MTThemeManager.activateWithColorScheme(MTThemeManager.java:318)
    at com.mallowigi.idea.MTLafComponent.activateTheme(MTLafComponent.java:162)
    at com.mallowigi.idea.MTLafComponent.onSettingsChanged(MTLafComponent.java:215)
    at com.mallowigi.idea.MTLafComponent$1.configChanged(MTLafComponent.java:126)
    at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:674)
    at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:649)
    at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:422)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:397)
    at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:379)
    at com.intellij.util.messages.impl.MessageBusImpl.access$100(MessageBusImpl.java:33)
    at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:185)
    at com.sun.proxy.$Proxy154.configChanged(Unknown Source)
    at com.mallowigi.idea.MTConfig.fireChanged(MTConfig.java:283)
    at com.mallowigi.idea.MTConfig.applySettings(MTConfig.java:346)
    at com.mallowigi.idea.config.MTConfigurable.doApply(MTConfigurable.java:86)
    at com.mallowigi.idea.config.MTConfigurable.doApply(MTConfigurable.java:43)
    at com.mallowigi.idea.config.MTConfigurableBase.apply(MTConfigurableBase.java:113)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.apply(ConfigurableWrapper.java:179)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor.apply(ConfigurableEditor.java:315)
    at com.intellij.openapi.options.newEditor.SettingsEditor$5.apply(SettingsEditor.java:181)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$2.actionPerformed(ConfigurableEditor.java:61)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270)
    at com.mallowigi.idea.ui.MTButtonUI$ButtonHighlighter.mouseReleased(MTButtonUI.java:391)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6652)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
    at java.desktop/java.awt.Component.processEvent(Component.java:6417)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2784)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
    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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
    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:748)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:973)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:910)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
    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.pumpEventsForFilter(EventDispatchThread.java:117)
    at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
    at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
    at java.desktop/java.awt.Dialog.show(Dialog.java:1063)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:694)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:435)
    at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1708)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1667)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:90)
    at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:55)
    at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:42)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAware$5(ActionUtil.java:272)
    at com.intellij.util.SlowOperations.lambda$allowSlowOperations$0(SlowOperations.java:77)
    at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:64)
    at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:76)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:272)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:310)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:286)
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:110)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110)
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:521)
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:551)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6652)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
    at java.desktop/java.awt.Component.processEvent(Component.java:6417)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2784)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
    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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
    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:748)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:973)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:910)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
    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)

Expected behavior

...

Actual behavior

...

Steps to reproduce (if needed)

  1. Activate licence
  2. Change settings in Material Theme UI
  3. Save and wait, the exception will throw

Environment

PhpStorm 2021.1 EAP Build #PS-211.6085.19, built on February 18, 2021 PhpStorm EAP User Expiration date: March 20, 2021 Runtime version: 11.0.10+9-b1341.2 amd64 VM: Dynamic Code Evolution 64-Bit Server VM by JetBrains s.r.o. Linux 5.10.16-arch1-1 GC: G1 Young Generation, G1 Old Generation Memory: 2048M Cores: 12 Registry: run.processes.with.pty=TRUE, bigger.font.in.project.view=true, ide.tooltip.initialDelay=539, ide.balloon.shadow.size=0 Non-Bundled Plugins: com.chrisrm.idea.MaterialThemeUI (6.1.0), com.draculatheme.idea (1.3.1), com.mallowigi (36.0), de.netnexus.camelcaseplugin (3.0.8), net.seesharpsoft.intellij.plugins.csv (2.14.4), org.intellij.plugins.hcl (0.7.10), name.kropp.intellij.makefile (211.6085.3), org.zalando.intellij.swagger (1.0.28), org.toml.lang (0.2.141.3674-211), rocks.blackcat.vcl (0.7.2), NEON support (0.5.1), de.espend.idea.php.toolbox (5.1.1), de.espend.idea.php.annotation (8.0.0), fr.adrienbrault.idea.symfony2plugin (0.22.206), me.mbolotov.cypress (1.4), org.rust.lang (0.3.141.3674-211), ru.adelf.idea.dotenv (2021.1) Current Desktop: i3

Material Theme configuration:

<application>
  <component name="MaterialThemeConfig">
    <option name="compactMenus" value="true" />
    <option name="compactStatusBar" value="true" />
    <option name="compactTables" value="true" />
    <option name="contrastMode" value="true" />
    <option name="highContrast" value="true" />
    <option name="accentScrollbars" value="false" />
    <option name="compactDropdowns" value="true" />
    <option name="compactSidebar" value="true" />
    <option name="fileStatusColorsEnabled" value="false" />
    <option name="isCompactMenus" value="true" />
    <option name="isCompactStatusBar" value="true" />
    <option name="isCompactTables" value="true" />
    <option name="isContrastMode" value="true" />
    <option name="isHighContrast" value="true" />
    <option name="isTabsShadow" value="false" />
    <option name="isWizardShown" value="true" />
    <option name="pristineConfig" value="false" />
    <option name="themedScrollbars" value="false" />
    <option name="useColoredDirectories" value="false" />
    <option name="indicatorStyle" value="None" />
    <option name="customSidebarHeight" value="22" />
    <option name="tabsHeight" value="22" />
    <option name="accentColor" value="ff79c5" />
    <option name="selectedTheme" value="DRACULA" />
    <option name="userId" value="1d44fc37:168dc88f911:-8000" />
    <option name="version" value="6.1.1" />
    <option name="tabHighlightPosition" value="Top" />
    <option name="codeAdditionsEnabled" value="false" />
  </component>
</application>
mallowigi commented 3 years ago

Hi, can you please update to the 6.1.1 and check if that reproduces? Thanks

welcoMattic commented 3 years ago

Hi! I just updated, and I still get the exception

mallowigi commented 3 years ago

Ok I managed to reproduce. It's not related to the previous issue.

mallowigi commented 3 years ago

Fixed. Please download latest version.