diff --git a/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt b/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt index ac8181d..4fe2c04 100644 --- a/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt +++ b/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt @@ -1,24 +1,24 @@ package com.chylex.intellij.disabletaskcontexts import com.intellij.openapi.diagnostic.Logger -import com.intellij.openapi.extensions.impl.ExtensionComponentAdapter import com.intellij.tasks.context.WorkingContextProvider -@Suppress("UnstableApiUsage") object WorkingContextExtensionChangeListener : Runnable { private val logger = Logger.getInstance("DisableTaskContextsPlugin") - private val unregisterAllPredicate: (String, ExtensionComponentAdapter) -> Boolean = { _, _ -> false } - private var isRunning = false override fun run() { if (!isRunning && WorkingContextProvider.EP_NAME.hasAnyExtensions()) { isRunning = true + val point = WorkingContextProvider.EP_NAME.point + try { - WorkingContextProvider.EP_NAME.point.unregisterExtensions(unregisterAllPredicate, false) + for (extension in point.extensions) { + point.unregisterExtension(extension.javaClass) + } - if (!WorkingContextProvider.EP_NAME.hasAnyExtensions()) { + if (point.size() == 0) { logger.info("Unregistered task context providers.") } else {