Use correct classloader when plugin registers an action group of platform class with plugin icon (IDEA-216197)

GitOrigin-RevId: 1b6da4bd3803d67c297129924c206fe3709d9d15
This commit is contained in:
Dmitry Jemerov
2019-06-14 20:07:48 +03:00
committed by intellij-monorepo-bot
parent b7099e8b7a
commit 417b5eee77
@@ -177,7 +177,16 @@ public final class ActionManagerImpl extends ActionManagerEx implements Disposab
String iconPath = stub.getIconPath();
if (iconPath != null) {
Class<? extends AnAction> actionClass = anAction.getClass();
setIconFromClass(actionClass, actionClass.getClassLoader(), iconPath, anAction.getTemplatePresentation(), stub.getPluginId());
ClassLoader classLoader = actionClass.getClassLoader();
if (stub.getPluginId() != null) {
final IdeaPluginDescriptor plugin = PluginManager.getPlugin(stub.getPluginId());
if (plugin != null) {
classLoader = plugin.getPluginClassLoader();
}
}
setIconFromClass(actionClass, classLoader, iconPath, anAction.getTemplatePresentation(), stub.getPluginId());
}
}