From 044b1f4470b6b14531c7eeb10b5cc0fcfc81ae23 Mon Sep 17 00:00:00 2001 From: zaaarf Date: Wed, 9 Oct 2024 23:34:15 +0200 Subject: [PATCH] fix: remove cursor from users who move away from synced buffers --- .../mp/code/intellij/actions/buffer/BufferSyncAction.java | 2 +- .../mp/code/intellij/listeners/CursorEventListener.java | 2 +- src/main/java/mp/code/intellij/util/cb/CursorCallback.java | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/mp/code/intellij/actions/buffer/BufferSyncAction.java b/src/main/java/mp/code/intellij/actions/buffer/BufferSyncAction.java index fecf544..77e699d 100644 --- a/src/main/java/mp/code/intellij/actions/buffer/BufferSyncAction.java +++ b/src/main/java/mp/code/intellij/actions/buffer/BufferSyncAction.java @@ -23,7 +23,7 @@ public class BufferSyncAction extends AnAction { String[] active_buffers = CodeMP.getActiveWorkspace().activeBuffers(); int choice = Messages.showChooseDialog( - "Detach from which buffer?", + "Sync which buffer?", "CodeMP Buffer Detach", active_buffers, "", diff --git a/src/main/java/mp/code/intellij/listeners/CursorEventListener.java b/src/main/java/mp/code/intellij/listeners/CursorEventListener.java index 5f305f7..abb19d8 100644 --- a/src/main/java/mp/code/intellij/listeners/CursorEventListener.java +++ b/src/main/java/mp/code/intellij/listeners/CursorEventListener.java @@ -70,4 +70,4 @@ public class CursorEventListener implements CaretListener { } })).start(); } -} +} \ No newline at end of file diff --git a/src/main/java/mp/code/intellij/util/cb/CursorCallback.java b/src/main/java/mp/code/intellij/util/cb/CursorCallback.java index 38b4438..05d2b52 100644 --- a/src/main/java/mp/code/intellij/util/cb/CursorCallback.java +++ b/src/main/java/mp/code/intellij/util/cb/CursorCallback.java @@ -49,7 +49,11 @@ public class CursorCallback implements Consumer { try { ApplicationManager.getApplication().runReadAction(() -> { Editor editor = FileUtil.getActiveEditorByPath(this.project, event.buffer); - if(editor == null) return; + if(editor == null) { + RangeHighlighter previous = CodeMP.HIGHLIGHTER_MAP.remove(event.user); + if(previous != null) previous.dispose(); + return; + } int startOffset = editor.getDocument().getLineStartOffset(event.startRow) + event.startCol; int endOffset = editor.getDocument().getLineStartOffset(event.endRow) + event.endCol;