OpherV / gitflow4idea

Git Flow Integration plugin for IntelliJ
Apache License 2.0
504 stars 138 forks source link

PluginException: Icon cannot be found in 'AllIcons.Vcs.CheckOut' #314

Closed anthonyaxenov closed 3 years ago

anthonyaxenov commented 3 years ago

Sorry, I didn't see when an exception was thrown by IDE. I only noticed this exception when I switched between my php projects in one window which are not giflow-initialized. Stacktrace is below.

Proper icon should be found? ¯\_(ツ)_/¯ I don't even know where this icon must be, so I find this little bug not serious.

Stacktrace from IDE Fatal Errors window:

com.intellij.diagnostic.PluginException: Icon cannot be found in 'AllIcons.Vcs.CheckOut', action 'class gitflow.actions.TrackFeatureAction' [Plugin: Gitflow]
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.reportActionError(ActionManagerImpl.java:416)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.reportActionError(ActionManagerImpl.java:411)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.access$000(ActionManagerImpl.java:81)
    at com.intellij.openapi.actionSystem.impl.ActionManagerImpl$2.compute(ActionManagerImpl.java:311)
    at com.intellij.openapi.util.IconLoader$LazyIcon.getOrComputeIcon(IconLoader.java:1127)
    at com.intellij.openapi.util.IconLoader$LazyIcon.getIconHeight(IconLoader.java:1115)
    at com.intellij.openapi.keymap.impl.ui.ActionsTree.getEvenIcon(ActionsTree.java:420)
    at com.intellij.openapi.keymap.impl.ui.ActionsTree$KeymapsRenderer.customizeCellRenderer(ActionsTree.java:584)
    at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:118)
    at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:53)
    at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:159)
    at com.intellij.ui.tree.ui.DefaultTreeUI.access$500(DefaultTreeUI.java:50)
    at com.intellij.ui.tree.ui.DefaultTreeUI$1.getNodeDimensions(DefaultTreeUI.java:365)
    at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
    at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
    at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1465)
    at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
    at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
    at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
    at com.intellij.ui.tree.ui.DefaultTreeUI$2.setExpandedState(DefaultTreeUI.java:396)
    at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1975)
    at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:4212)
    at java.desktop/javax.swing.JTree.fireTreeExpanded(JTree.java:2801)
    at java.desktop/javax.swing.JTree.setExpandedState(JTree.java:3702)
    at java.desktop/javax.swing.JTree.expandPath(JTree.java:2244)
    at com.intellij.util.ui.tree.TreeUtil.expandPathWithDebug(TreeUtil.java:1378)
    at com.intellij.util.ui.tree.TreeUtil.lambda$promiseMakeVisible$32(TreeUtil.java:1536)
    at com.intellij.util.ui.tree.TreeUtil.visitModel(TreeUtil.java:1781)
    at com.intellij.util.ui.tree.TreeUtil.lambda$promiseVisit$41(TreeUtil.java:1746)
    at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2254)
    at com.intellij.util.ui.tree.TreeUtil.promiseVisit(TreeUtil.java:1746)
    at com.intellij.util.ui.tree.TreeUtil.promiseMakeVisible(TreeUtil.java:1524)
    at com.intellij.util.ui.tree.TreeUtil.promiseExpand(TreeUtil.java:1008)
    at com.intellij.util.ui.tree.TreeUtil.promiseExpandAll(TreeUtil.java:972)
    at com.intellij.util.ui.tree.TreeUtil.expandAll(TreeUtil.java:948)
    at com.intellij.openapi.keymap.impl.ui.KeymapPanel.filterTreeByShortcut(KeymapPanel.java:448)
    at com.intellij.openapi.keymap.impl.ui.KeymapPanel.access$400(KeymapPanel.java:70)
    at com.intellij.openapi.keymap.impl.ui.KeymapPanel$3.propertyChange(KeymapPanel.java:131)
    at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:334)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
    at java.desktop/java.awt.Component.firePropertyChange(Component.java:8753)
    at com.intellij.openapi.keymap.impl.ui.ShortcutFilteringPanel.setShortcut(ShortcutFilteringPanel.java:120)
    at com.intellij.openapi.keymap.impl.ui.ShortcutFilteringPanel$2.propertyChange(ShortcutFilteringPanel.java:76)
    at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:334)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
    at java.desktop/java.awt.Component.firePropertyChange(Component.java:8753)
    at com.intellij.openapi.keymap.impl.ui.ShortcutPanel.setShortcut(ShortcutPanel.java:23)
    at com.intellij.openapi.keymap.impl.ui.KeyboardShortcutPanel$2.propertyChange(KeyboardShortcutPanel.java:33)
    at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:334)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)
    at java.desktop/java.awt.Component.firePropertyChange(Component.java:8753)
    at com.intellij.openapi.keymap.impl.ui.ShortcutTextField.setText(ShortcutTextField.java:119)
    at com.intellij.ide.ui.laf.darcula.ui.TextFieldWithPopupHandlerUI$ClearExtension.lambda$getActionOnClick$0(TextFieldWithPopupHandlerUI.java:693)
    at com.intellij.ide.ui.laf.darcula.ui.TextFieldWithPopupHandlerUI.handleMouse(TextFieldWithPopupHandlerUI.java:506)
    at com.intellij.ide.ui.laf.darcula.ui.TextFieldWithPopupHandlerUI.access$700(TextFieldWithPopupHandlerUI.java:42)
    at com.intellij.ide.ui.laf.darcula.ui.TextFieldWithPopupHandlerUI$Handler.mouseClicked(TextFieldWithPopupHandlerUI.java:348)
    at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
    at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
    at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6653)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
    at java.desktop/java.awt.Component.processEvent(Component.java:6415)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5025)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4857)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4556)
    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:2773)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4857)
    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:967)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:904)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:503)
    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:710)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
    at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1702)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1661)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:80)
    at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:54)
    at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:41)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:282)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:610)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$3(IdeKeyEventDispatcher.java:670)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:669)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:620)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:517)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:471)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:220)
    at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:888)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:833)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:503)
    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)
morinb commented 3 years ago

Hi, I have also this exception popping up in Intellij IDEA.

The icon AllIcons.Vcs.Checkout doesn't exist anymore in the jetbrains plugins icons list, or I can't find it. Maybe just change AllIcons.Vcs.Checkout by AllIcons.Actions.CheckOut

Regards,

sercheo87 commented 3 years ago

In the file resources/META-INF/plugin.xml is reused icon CheckOut but in the action id Gitflow.TrackFeature not update for compile correctly change to

        <action id="Gitflow.TrackFeature" class="gitflow.actions.TrackFeatureAction"
                text="Track Feature..."
                icon="AllIcons.Actions.CheckOut"
        />
OpherV commented 3 years ago

Fix in 0.7.5