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) {