Skip to content

Commit f13745a

Browse files
committed
Use a coroutines to prevent an IllegalStateException (see #6459) (#6460)
(cherry picked from commit 75b1cdc)
1 parent c4ddd9c commit f13745a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

intellij-plugin/src/main/kotlin/com/apollographql/ijplugin/gradle/GradleToolingModelService.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import com.apollographql.ijplugin.settings.ProjectSettingsState
99
import com.apollographql.ijplugin.settings.projectSettingsState
1010
import com.apollographql.ijplugin.telemetry.telemetryService
1111
import com.apollographql.ijplugin.util.dispose
12-
import com.apollographql.ijplugin.util.executeOnPooledThread
1312
import com.apollographql.ijplugin.util.isNotDisposed
1413
import com.apollographql.ijplugin.util.logd
1514
import com.apollographql.ijplugin.util.logw
@@ -25,6 +24,8 @@ import com.intellij.openapi.project.guessProjectDir
2524
import com.intellij.openapi.util.CheckedDisposable
2625
import com.intellij.openapi.vfs.VfsUtilCore
2726
import com.intellij.openapi.vfs.VirtualFileManager
27+
import kotlinx.coroutines.CoroutineScope
28+
import kotlinx.coroutines.launch
2829
import org.gradle.tooling.CancellationTokenSource
2930
import org.gradle.tooling.GradleConnector
3031
import org.gradle.tooling.model.GradleProject
@@ -36,6 +37,7 @@ import java.io.File
3637
@Service(Service.Level.PROJECT)
3738
class GradleToolingModelService(
3839
private val project: Project,
40+
private val coroutineScope: CoroutineScope,
3941
) : Disposable {
4042
private var gradleHasSyncedDisposable: CheckedDisposable? = null
4143

@@ -141,7 +143,7 @@ class GradleToolingModelService(
141143
return
142144
}
143145

144-
fetchToolingModelsTask = FetchToolingModelsTask().also { executeOnPooledThread { it.run() } }
146+
fetchToolingModelsTask = FetchToolingModelsTask().also { coroutineScope.launch { it.run() } }
145147
}
146148

147149
private inner class FetchToolingModelsTask : Runnable {

0 commit comments

Comments
 (0)