diff --git a/src/main/java/com/chylex/intellij/keeppopupswhiledebugging/PreventHidingPopups.kt b/src/main/java/com/chylex/intellij/keeppopupswhiledebugging/PreventHidingPopups.kt index 52ff89d..442f1e3 100644 --- a/src/main/java/com/chylex/intellij/keeppopupswhiledebugging/PreventHidingPopups.kt +++ b/src/main/java/com/chylex/intellij/keeppopupswhiledebugging/PreventHidingPopups.kt @@ -13,9 +13,16 @@ class PreventHidingPopups : StartupActivity { } companion object { + private var isInstalled = false + fun installListener() { + if (isInstalled) { + return + } + EditorMouseHoverPopupManager.getInstance() // Installs the default listener. EditorMouseHoverPopupControl.getInstance()?.addListener(MouseTrackingDisabledListener) + isInstalled = true } fun tryUninstallListener(): Boolean { @@ -25,6 +32,7 @@ class PreventHidingPopups : StartupActivity { val listenersField = instance.javaClass.getDeclaredField("listeners").also { it.isAccessible = true } val listeners = listenersField.get(instance) as MutableCollection<*> listeners.remove(MouseTrackingDisabledListener) + isInstalled = false true } catch (e: Exception) { false