From c5baff9917c213845aa3dcd2107bdf916b197982 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Thu, 22 Nov 2018 12:10:13 +0300 Subject: [PATCH] delay actions update --- .../openapi/editor/impl/ContextMenuImpl.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/ContextMenuImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/ContextMenuImpl.java index 79133662fb1d..dc5bcd051425 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/ContextMenuImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/ContextMenuImpl.java @@ -99,11 +99,6 @@ public class ContextMenuImpl extends JPanel implements Disposable { } private void toggleContextToolbar(final boolean show) { - myActionToolbar.updateActionsImmediately(); - if (((Container)myActionToolbar).getComponentCount() == 0) { - return; - } - if (myShow != show) { myShow = show; restartTimer(); @@ -122,6 +117,12 @@ public class ContextMenuImpl extends JPanel implements Disposable { if (myTimer != null && myTimer.isRunning()) myTimer.stop(); + myActionToolbar.updateActionsImmediately(); + if (((Container)myActionToolbar).getComponentCount() == 0) { + myShow = false; + return; + } + myTimer = UIUtil.createNamedTimer("Restart context menu now", 50, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -146,8 +147,6 @@ public class ContextMenuImpl extends JPanel implements Disposable { scheduleHide(); } - - repaint(); } else { if (!myVisible) { @@ -162,9 +161,8 @@ public class ContextMenuImpl extends JPanel implements Disposable { myLayeredPane.remove(ContextMenuImpl.this); myLayeredPane.repaint(); } - - repaint(); } + repaint(); } });