From b3dfb382c9ff73fdd7bc808fa11b5aeaf89a20a8 Mon Sep 17 00:00:00 2001 From: pengzhile Date: Wed, 28 Jul 2021 19:24:40 +0800 Subject: [PATCH] fix issue with JRebel --- README.md | 2 +- build.gradle | 4 +++- .../research/intellij/ier/listener/AppEventListener.java | 1 - .../research/intellij/ier/listener/AppInitListener.java | 8 +++++++- .../research/intellij/ier/listener/ListenerConnector.java | 5 ++++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0781a64..b5100db 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Reset Your IDE Eval Information -1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.2.1-435328.zip). +1. Download and install plugin from [Download Link](https://plugins.zhile.io/files/ide-eval-resetter-2.2.2-940eb7.zip). * Alternative installation method: * Add "Custom Plugin Repository": `https://plugins.zhile.io` manually (`Settings/Preferences` -> `Plugins`) * Search and install plugin: `IDE Eval Reset` diff --git a/build.gradle b/build.gradle index 812cd27..9b7136a 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'io.zhile.research.intellij' -version '2.2.1' +version '2.2.2' sourceCompatibility = 1.7 targetCompatibility = 1.7 @@ -29,6 +29,8 @@ intellij { patchPluginXml { changeNotes = """
+Release v2.2.2
+  1. fix issue with JRebel
 Release v2.2.1
   1. fix depends
 Release v2.2.0
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
index 4ccc559..adb13b2 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/AppEventListener.java
@@ -31,7 +31,6 @@ public class AppEventListener implements AppLifecycleListener {
     }
 
     public void appClosing() {
-        ListenerConnector.dispose();
         BrokenPlugins.fix();
 
         if (!Resetter.isAutoReset()) {
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/AppInitListener.java b/src/main/java/io/zhile/research/intellij/ier/listener/AppInitListener.java
index 43befed..01b5902 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/AppInitListener.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/AppInitListener.java
@@ -8,15 +8,21 @@ import io.zhile.research.intellij.ier.helper.Constants;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
+import java.util.List;
+
 public class AppInitListener implements AppLifecycleListener {
     public void appFrameCreated(String[] commandLineArgs, @NotNull Ref willOpenProject) {
 
     }
 
-    public void appStarting(@Nullable Project projectFromCommandLine) {
+    public void appFrameCreated(@NotNull List commandLineArgs) {
         ActionManager.getInstance().getAction(Constants.RESET_ACTION_ID);
     }
 
+    public void appStarting(@Nullable Project projectFromCommandLine) {
+
+    }
+
     public void projectFrameClosed() {
 
     }
diff --git a/src/main/java/io/zhile/research/intellij/ier/listener/ListenerConnector.java b/src/main/java/io/zhile/research/intellij/ier/listener/ListenerConnector.java
index 345b712..e1a7b76 100644
--- a/src/main/java/io/zhile/research/intellij/ier/listener/ListenerConnector.java
+++ b/src/main/java/io/zhile/research/intellij/ier/listener/ListenerConnector.java
@@ -2,6 +2,7 @@ package io.zhile.research.intellij.ier.listener;
 
 import com.intellij.ide.AppLifecycleListener;
 import com.intellij.openapi.Disposable;
+import com.intellij.openapi.application.Application;
 import com.intellij.openapi.application.ApplicationActivationListener;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.util.Disposer;
@@ -20,8 +21,10 @@ public class ListenerConnector {
         BrokenPlugins.fix();
         CustomRepository.checkAndAdd(CustomRepository.DEFAULT_HOST);
 
+        Application app = ApplicationManager.getApplication();
         disposable = Disposer.newDisposable();
-        MessageBusConnection connection = ApplicationManager.getApplication().getMessageBus().connect(disposable);
+        Disposer.register(app, disposable);
+        MessageBusConnection connection = app.getMessageBus().connect(disposable);
         connection.subscribe(AppLifecycleListener.TOPIC, new AppEventListener());
         connection.subscribe(ApplicationActivationListener.TOPIC, new AppActivationListener());
     }