fix(LineEndCache): some time null and some time project disposed

This commit is contained in:
林万程
2024-01-13 21:21:20 +08:00
parent 5e163de171
commit f7d7feed16

View File

@@ -1,5 +1,6 @@
package io.github.linwancen.plugin.show.cache;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.LineExtensionInfo;
import com.intellij.openapi.project.DumbService;
@@ -97,8 +98,15 @@ public class LineEndCacheUtils {
if (!(lineCache.needUpdate() || list == null)) {
return;
}
ApplicationManager.getApplication().runReadAction(() -> {
Application application = ApplicationManager.getApplication();
if (application == null) {
return;
}
application.runReadAction(() -> {
try {
if (project.isDisposed()) {
return;
}
@Nullable LineExtensionInfo lineExt = LineEnd.lineExt(info);
@Nullable LineInfo info2 = LineInfo.of(info, lineNumber);
if (info2 == null || !info2.text.equals(info.text)) {