mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-51643 - assert: DataManagerImpl$MyDataContext.getData
This commit is contained in:
@@ -37,6 +37,7 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
import com.intellij.ui.popup.NotLookupOrSearchCondition;
|
||||
import com.intellij.ui.popup.PopupPositionManager;
|
||||
import com.intellij.util.Processor;
|
||||
@@ -79,6 +80,8 @@ public class ShowByteCodeAction extends AnAction {
|
||||
final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(psiElement);
|
||||
if (virtualFile == null) return;
|
||||
|
||||
final RelativePoint bestPopupLocation = JBPopupFactory.getInstance().guessBestPopupLocation(dataContext);
|
||||
|
||||
final SmartPsiElementPointer element = SmartPointerManager.getInstance(project).createSmartPsiElementPointer(psiElement);
|
||||
ProgressManager.getInstance().run(new Task.Backgroundable(project, "Searching byte code...") {
|
||||
private String myByteCode;
|
||||
@@ -145,7 +148,11 @@ public class ShowByteCodeAction extends AnAction {
|
||||
.createPopup();
|
||||
Disposer.register(popup, component);
|
||||
|
||||
PopupPositionManager.positionPopupInBestPosition(popup, editor, dataContext);
|
||||
if (editor != null) {
|
||||
popup.showInBestPositionFor(editor);
|
||||
} else {
|
||||
popup.show(bestPopupLocation);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user