From 0d0cf3e4fd1003eff82362bd13415c1a24eed109 Mon Sep 17 00:00:00 2001 From: shuzijun Date: Fri, 19 Mar 2021 12:48:19 +0800 Subject: [PATCH] fix Compatibility --- .../leetcode/plugin/listener/ErrorReportHandler.java | 3 +-- .../leetcode/plugin/window/WindowFactory.java | 12 +++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/shuzijun/leetcode/plugin/listener/ErrorReportHandler.java b/src/main/java/com/shuzijun/leetcode/plugin/listener/ErrorReportHandler.java index 8d8501d2..2e5d8a01 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/listener/ErrorReportHandler.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/listener/ErrorReportHandler.java @@ -3,7 +3,6 @@ import com.intellij.diagnostic.AbstractMessage; import com.intellij.openapi.diagnostic.ErrorReportSubmitter; import com.intellij.openapi.diagnostic.IdeaLoggingEvent; -import com.intellij.openapi.diagnostic.SubmittedReportInfo; import com.intellij.util.Consumer; import com.shuzijun.leetcode.plugin.utils.PropertiesUtils; import com.shuzijun.leetcode.plugin.utils.SentryUtils; @@ -23,7 +22,7 @@ public String getReportActionText() { } @Override - public boolean submit(@NotNull IdeaLoggingEvent[] events, @Nullable String additionalInfo, @NotNull Component parentComponent, @NotNull Consumer consumer) { + public boolean submit(@NotNull IdeaLoggingEvent[] events, @Nullable String additionalInfo, @NotNull Component parentComponent, @NotNull Consumer consumer) { for (IdeaLoggingEvent event : events) { Throwable throwable = event.getThrowable(); if (event.getData() instanceof AbstractMessage) { diff --git a/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java b/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java index 2e7aab06..037bdc13 100644 --- a/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java +++ b/src/main/java/com/shuzijun/leetcode/plugin/window/WindowFactory.java @@ -2,6 +2,7 @@ import com.intellij.ide.DataManager; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowFactory; @@ -13,6 +14,7 @@ import org.jetbrains.annotations.NotNull; import javax.swing.*; +import java.util.concurrent.atomic.AtomicReference; /** * @author shuzijun @@ -33,9 +35,13 @@ public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindo } public static DataContext getDataContext(@NotNull Project project) { - ToolWindow leetcodeToolWindows = ToolWindowManager.getInstance(project).getToolWindow(ID); - DataContext dataContext = DataManager.getInstance().getDataContext(leetcodeToolWindows.getContentManager().getContent(0).getComponent()); - return dataContext; + AtomicReference dataContext = new AtomicReference<>(); + ApplicationManager.getApplication().invokeAndWait(() -> { + + ToolWindow leetcodeToolWindows = ToolWindowManager.getInstance(project).getToolWindow(ID); + dataContext.set(DataManager.getInstance().getDataContext(leetcodeToolWindows.getContentManager().getContent(0).getComponent())); + }); + return dataContext.get(); } public static void updateTitle(@NotNull Project project, String userName) {