mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
one undo transparent action and write action for all store save sessions
This commit is contained in:
@@ -6,6 +6,8 @@ import com.intellij.ide.highlighter.WorkspaceFileType
|
||||
import com.intellij.openapi.application.AppUIExecutor
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.async.coroutineDispatchingContext
|
||||
import com.intellij.openapi.application.async.inUndoTransparentAction
|
||||
import com.intellij.openapi.application.async.inWriteAction
|
||||
import com.intellij.openapi.application.runReadAction
|
||||
import com.intellij.openapi.components.*
|
||||
import com.intellij.openapi.components.impl.stores.IComponentStore
|
||||
@@ -370,7 +372,7 @@ private class ProjectWithModulesStoreImpl(project: Project, pathMacroManager: Pa
|
||||
}
|
||||
|
||||
if (!saveSessions.isEmpty()) {
|
||||
ApplicationManager.getApplication().runWriteAction {
|
||||
withContext(AppUIExecutor.onUiThread().inUndoTransparentAction().inWriteAction().coroutineDispatchingContext()) {
|
||||
// flush on disk
|
||||
saveSessions(saveSessions, readonlyFiles, errors)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.intellij.configurationStore
|
||||
|
||||
import com.intellij.openapi.application.AppUIExecutor
|
||||
import com.intellij.openapi.application.async.coroutineDispatchingContext
|
||||
import com.intellij.openapi.application.async.inUndoTransparentAction
|
||||
import com.intellij.openapi.application.async.inWriteAction
|
||||
import com.intellij.openapi.components.StateStorage
|
||||
import com.intellij.openapi.components.impl.stores.SaveSessionAndFile
|
||||
import com.intellij.openapi.progress.ProcessCanceledException
|
||||
@@ -63,7 +65,7 @@ internal open class SaveSessionProducerManager : SaveExecutor {
|
||||
|
||||
val task = { saveSessions(saveSessions, readonlyFiles, errors) }
|
||||
if (isVfsRequired) {
|
||||
withContext(AppUIExecutor.onUiThread().coroutineDispatchingContext()) {
|
||||
withContext(AppUIExecutor.onUiThread().inUndoTransparentAction().inWriteAction().coroutineDispatchingContext()) {
|
||||
task()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user