From c22d69b11e9faee73c32035415468eeec5d7eca2 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Fri, 17 Nov 2017 20:04:59 +0100 Subject: [PATCH] [performance] cache icon that IDE uses often --- .../intellij/openapi/actionSystem/ex/ComboBoxAction.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java index 6bc25b8d46c3..681823348df0 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java @@ -49,10 +49,14 @@ import java.beans.PropertyChangeListener; public abstract class ComboBoxAction extends AnAction implements CustomComponentAction { private static Icon myIcon = null; private static Icon myDisabledIcon = null; + private static Icon myWin10ComboDropTriagleIcon = null; public static Icon getArrowIcon(boolean enabled) { if (UIUtil.isUnderWin10LookAndFeel()) { - return IconLoader.getIcon("/com/intellij/ide/ui/laf/icons/win10/comboDropTriangle.png"); + if (myWin10ComboDropTriagleIcon == null) { + myWin10ComboDropTriagleIcon = IconLoader.getIcon("/com/intellij/ide/ui/laf/icons/win10/comboDropTriangle.png"); + } + return myWin10ComboDropTriagleIcon; } Icon icon = UIUtil.isUnderDarcula() ? AllIcons.General.ComboArrow : AllIcons.General.ComboBoxButtonArrow; if (myIcon != icon) {