From 96dde7a423341c0406f7b96a8d788d83175060b0 Mon Sep 17 00:00:00 2001 From: alemi Date: Wed, 2 Oct 2024 02:27:58 +0200 Subject: [PATCH] fix: null check before buffer active check --- .../listeners/CursorEventListener.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/mp/code/intellij/listeners/CursorEventListener.java b/src/main/java/mp/code/intellij/listeners/CursorEventListener.java index 0b0a431..1adb183 100644 --- a/src/main/java/mp/code/intellij/listeners/CursorEventListener.java +++ b/src/main/java/mp/code/intellij/listeners/CursorEventListener.java @@ -14,6 +14,9 @@ import com.intellij.openapi.editor.VisualPosition; import com.intellij.openapi.editor.event.CaretEvent; import com.intellij.openapi.editor.event.CaretListener; import mp.code.data.Cursor; + +import java.nio.file.Path; + import org.jetbrains.annotations.NotNull; public class CursorEventListener implements CaretListener { @@ -21,14 +24,21 @@ public class CursorEventListener implements CaretListener { @Override @SneakyThrows public void caretPositionChanged(@NotNull CaretEvent event) { + // TODO instead of returning, should un-set remote cursor position (once) + Caret caret = event.getCaret(); - if(caret == null) - return; + if (caret == null) return; VirtualFile file = event.getEditor().getVirtualFile(); - if(file == null) return; + if (file == null) return; - if(CodeMP.getActiveWorkspace().getBuffer(CodeMP.BUFFER_MAPPER.get(file.toNioPath())).isEmpty()) return; + Path nioPath = file.toNioPath(); + if (nioPath == null) return; + + String buffer_name = CodeMP.BUFFER_MAPPER.get(nioPath); + if (buffer_name == null) return; + + if(CodeMP.getActiveWorkspace().getBuffer(buffer_name).isEmpty()) return; VisualPosition startPos = caret.getSelectionStartPosition(); VisualPosition endPos = caret.getSelectionEndPosition();