Skip to content

"Copy Path/Reference" function crashes when used in M1 projects  #847

Closed
@raman-kapanets

Description

@raman-kapanets

Describe the bug (*)

In my work, I have to work with M1 and M2 projects. And when I work with the M1 project I have to disable the plugin in my IDE because it crashes IDE sometimes. An example of this behavior is bellow:

The "Copy Path/Reference" functionality doesn't work when I try to use it in the M1 project with the inactive plugin.

I understand that this plugin shouldn't work with M1 but I would like to have a possibility don't disable it whenever I have to work with the M1 projects.

java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
	at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:103)
	at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:103)
	at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:103)
	at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getIndexOf(CopyMagentoPath.java:103)
	at com.magento.idea.magento2plugin.actions.CopyMagentoPath.getPathToElement(CopyMagentoPath.java:93)
	at com.intellij.ide.actions.CopyPathProvider.getQualifiedName(CopyPathProvider.kt:70)
	at com.intellij.ide.actions.CopyReferencePopup$1$1.customizeComponent(CopyReferencePopup.java:94)
	at com.intellij.ide.actions.CopyReferencePopup$1$1.customizeComponent(CopyReferencePopup.java:50)
	at com.intellij.ui.popup.list.GroupedItemsListRenderer.getListCellRendererComponent(GroupedItemsListRenderer.java:57)
	at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:24)
	at com.intellij.ui.components.WideSelectionListUI.updateLayoutState(WideSelectionListUI.java:197)
	at java.desktop/javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1389)
	at java.desktop/javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:648)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1683)
	at com.intellij.ui.components.JBList.getPreferredSize(JBList.java:182)
	at com.intellij.ui.components.JBViewport.getPreferredSizeWithoutScrollBars(JBViewport.java:527)
	at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:546)
	at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:519)
	at com.intellij.ui.components.JBViewport$1.preferredLayoutSize(JBViewport.java:66)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at com.intellij.ui.components.JBScrollPane$Layout.preferredLayoutSize(JBScrollPane.java:801)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at java.desktop/java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:724)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at com.intellij.ui.popup.WizardPopup$MyContainer.getPreferredSize(WizardPopup.java:324)
	at com.intellij.ui.popup.AbstractPopup.getSizeForPositioning(AbstractPopup.java:585)
	at com.intellij.ui.popup.AbstractPopup.relativePointByQuickSearch(AbstractPopup.java:571)
	at com.intellij.ui.popup.AbstractPopup.showInBestPositionFor(AbstractPopup.java:520)
	at com.intellij.ide.actions.CopyReferencePopup.actionPerformed(CopyReferencePopup.java:134)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:244)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:265)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:244)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:300)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:236)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:67)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:292)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$3(ActionMenuItem.java:131)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:131)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:541)
	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:571)
	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$J

To Reproduce (*)

Steps to reproduce the behavior:

  1. Go to some design template
  2. Click on the tab with filename
  3. Click 'Copy Path/Reference'
  4. See error

Expected behavior (*)

I expected to see a popup with copy options.
image

Screenshots

image
image

Please complete the following information: (*)

  • OS: Linux 5.10.84-1-lts
  • PhpStorm/Intellij version: 2021.3
  • Plugin Version: 4.2.0

Additional context

Nope

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions