diff --git a/ChangeLog.md b/ChangeLog.md index a67e502cc1d..3e8e6b2272b 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -335,6 +335,7 @@ These artifacts include extensions for the types available in the latter JDKs, s - [`KT-14501`](https://youtrack.jetbrains.com/issue/KT-14501) Create from Usage: Support array access expressions/binary expressions with type mismatch errors - [`KT-14500`](https://youtrack.jetbrains.com/issue/KT-14500) Create from Usage: Suggest functional type based on the call with lambda argument and unresolved invoke() - [`KT-14459`](https://youtrack.jetbrains.com/issue/KT-14459) Initialize with Constructor Parameter: Fix IDE freeze on properties in generic class +- [`KT-14044`](https://youtrack.jetbrains.com/issue/KT-14044) Fix exception on deleting unused declaration in IDEA 2016.3 #### Refactorings diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt index a4686c64e90..6b6c287953f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/UnusedSymbolInspection.kt @@ -27,6 +27,8 @@ import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection import com.intellij.codeInspection.ex.EntryPointsManager import com.intellij.codeInspection.ex.EntryPointsManagerBase import com.intellij.codeInspection.ex.EntryPointsManagerImpl +import com.intellij.openapi.application.ApplicationManager +import com.intellij.openapi.application.ModalityState import com.intellij.openapi.project.Project import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.PsiClass @@ -74,7 +76,6 @@ import java.awt.Insets import java.util.* import javax.swing.JComponent import javax.swing.JPanel -import javax.swing.SwingUtilities class UnusedSymbolInspection : AbstractKotlinInspection() { companion object { @@ -359,8 +360,9 @@ class SafeDeleteFix(declaration: KtDeclaration) : LocalQuickFix { override fun applyFix(project: Project, descriptor: ProblemDescriptor) { val declaration = descriptor.psiElement.getStrictParentOfType() ?: return if (!FileModificationService.getInstance().prepareFileForWrite(declaration.containingFile)) return - SwingUtilities.invokeLater { - SafeDeleteHandler.invoke(project, arrayOf(declaration), false) - } + ApplicationManager.getApplication().invokeLater( + { SafeDeleteHandler.invoke(project, arrayOf(declaration), false) }, + ModalityState.NON_MODAL + ) } }