diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b15b04..9588c9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.4.1 230218 + +### Fixes + +- fixed error with breakpoints in other subsystems +- fixed error with project closure causing listener to be called even after project was dead + ## 0.4.0 230211 ### Added diff --git a/build.gradle.kts b/build.gradle.kts index ec362d0..42aee01 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "com.en_circle.slt" -version = "0.4.0" +version = "0.4.1" repositories { mavenCentral() diff --git a/src/main/java/com/en_circle/slt/plugin/services/lisp/LispEnvironmentServiceImpl.java b/src/main/java/com/en_circle/slt/plugin/services/lisp/LispEnvironmentServiceImpl.java index 47f07f6..d6c69a9 100644 --- a/src/main/java/com/en_circle/slt/plugin/services/lisp/LispEnvironmentServiceImpl.java +++ b/src/main/java/com/en_circle/slt/plugin/services/lisp/LispEnvironmentServiceImpl.java @@ -240,8 +240,10 @@ private void doStop() throws Exception { } ApplicationManager.getApplication().invokeLaterOnWriteThread(() -> { - ParameterHintsPassFactory.forceHintsUpdateOnNextPass(); - DaemonCodeAnalyzer.getInstance(project).restart(); + if (!project.isDisposed()) { + ParameterHintsPassFactory.forceHintsUpdateOnNextPass(); + DaemonCodeAnalyzer.getInstance(project).restart(); + } }); for (LispEnvironmentListener listener : serverListeners) { diff --git a/src/main/java/com/en_circle/slt/plugin/ui/debug/SltBreakpointListener.java b/src/main/java/com/en_circle/slt/plugin/ui/debug/SltBreakpointListener.java index a64bf62..cf86d5b 100644 --- a/src/main/java/com/en_circle/slt/plugin/ui/debug/SltBreakpointListener.java +++ b/src/main/java/com/en_circle/slt/plugin/ui/debug/SltBreakpointListener.java @@ -6,6 +6,7 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpoint; import org.jetbrains.annotations.NotNull; +@SuppressWarnings("DataFlowIssue") public class SltBreakpointListener implements XBreakpointListener> { private final Project project; @@ -16,18 +17,24 @@ public SltBreakpointListener(Project project) { @Override public void breakpointAdded(@NotNull XLineBreakpoint breakpoint) { - LispEnvironmentService.getInstance(project) - .addBreakpoint(breakpoint); + if (breakpoint.getProperties() instanceof SltBreakpointProperties) { + LispEnvironmentService.getInstance(project) + .addBreakpoint(breakpoint); + } } @Override public void breakpointRemoved(@NotNull XLineBreakpoint breakpoint) { - LispEnvironmentService.getInstance(project) - .removeBreakpoint(breakpoint); + if (breakpoint.getProperties() instanceof SltBreakpointProperties) { + LispEnvironmentService.getInstance(project) + .removeBreakpoint(breakpoint); + } } @Override public void breakpointChanged(@NotNull XLineBreakpoint breakpoint) { - LispEnvironmentService.getInstance(project).nativeBreakpointUpdated(breakpoint); + if (breakpoint.getProperties() instanceof SltBreakpointProperties) { + LispEnvironmentService.getInstance(project).nativeBreakpointUpdated(breakpoint); + } } } diff --git a/src/main/java/com/en_circle/slt/tools/PluginPath.java b/src/main/java/com/en_circle/slt/tools/PluginPath.java index a0e19ba..299096d 100644 --- a/src/main/java/com/en_circle/slt/tools/PluginPath.java +++ b/src/main/java/com/en_circle/slt/tools/PluginPath.java @@ -13,10 +13,6 @@ public class PluginPath { public static File getPluginFolder() { String path = PathManager.getConfigPath(); File configPath = new File(path); - if (configPath.exists()) { - // Root jetbrains config folder - configPath = configPath.getParentFile(); - } File pluginFolder; if (configPath.exists()) { pluginFolder = new File(configPath, PLUGIN_SUFFIX); diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 32ff9b6..f0864fb 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -168,7 +168,7 @@ 0.4.0 New features:

+

0.4.1 New features:

- Support for multiple lisp interprets
- ABCL Support
- CCL Support