IDEA-209224 Can't use "Injected Language" feature because popup doesn't appear

Revert e7bab9106e
This commit is contained in:
Denis Fokin
2019-03-25 19:27:31 +03:00
parent 4326d3a4e7
commit 8eccc6d429
@@ -32,10 +32,7 @@ import com.intellij.ui.awt.RelativePoint;
import com.intellij.ui.components.JBLabel;
import com.intellij.ui.mac.touchbar.TouchBarsManager;
import com.intellij.ui.speedSearch.SpeedSearch;
import com.intellij.util.BooleanFunction;
import com.intellij.util.FunctionUtil;
import com.intellij.util.IJSwingUtilities;
import com.intellij.util.Processor;
import com.intellij.util.*;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.WeakList;
import com.intellij.util.ui.*;
@@ -774,6 +771,7 @@ public class AbstractPopup implements JBPopup {
debugState("show popup", State.INIT);
myState = State.SHOWING;
installWindowHook(this);
installProjectDisposer();
addActivity();
@@ -1118,6 +1116,14 @@ public class AbstractPopup implements JBPopup {
}
}
//Sometimes just after popup was shown the WINDOW_ACTIVATED cancels it
private static void installWindowHook(final AbstractPopup popup) {
if (popup.myCancelOnWindow) {
popup.myCancelOnWindow = false;
new Alarm(popup).addRequest(() -> popup.myCancelOnWindow = true, 100);
}
}
private void addActivity() {
UiActivityMonitor.getInstance().addActivity(myActivityKey);
}