mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Use dispose-aware bg-aware syncPublisher in vcs-impl (in trivial cases)
This commit is contained in:
@@ -24,6 +24,7 @@ import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.progress.*;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
@@ -1565,8 +1566,7 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec
|
||||
myRevisionsCache.minus(pair);
|
||||
}
|
||||
}
|
||||
// maybe define modify method?
|
||||
myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(become);
|
||||
BackgroundTaskUtil.syncPublisher(myProject, VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED).dirty(become);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.lifecycle.PeriodicalTasksCloser;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.vcs.*;
|
||||
@@ -80,11 +81,7 @@ public class RemoteRevisionsCache implements PlusMinus<Pair<String, AbstractVcs>
|
||||
boolean somethingChanged = myRemoteRevisionsNumbersCache.updateStep();
|
||||
somethingChanged |= myRemoteRevisionsStateCache.updateStep();
|
||||
if (somethingChanged) {
|
||||
ApplicationManager.getApplication().runReadAction(() -> {
|
||||
if (!myProject.isDisposed()) {
|
||||
myProject.getMessageBus().syncPublisher(REMOTE_VERSION_CHANGED).run();
|
||||
}
|
||||
});
|
||||
BackgroundTaskUtil.syncPublisher(myProject, REMOTE_VERSION_CHANGED).run();
|
||||
}
|
||||
}
|
||||
return shouldBeDone;
|
||||
|
||||
+4
-3
@@ -27,6 +27,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.keymap.Keymap;
|
||||
import com.intellij.openapi.keymap.KeymapManager;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Splitter;
|
||||
import com.intellij.openapi.ui.SplitterProportionsData;
|
||||
@@ -247,7 +248,7 @@ public class CommittedChangesTreeBrowser extends JPanel implements TypeSafeDataP
|
||||
myDetailsView.setUseCase(useCase);
|
||||
myChangeLists = items;
|
||||
myFilteringStrategy.setFilterBase(items);
|
||||
myProject.getMessageBus().syncPublisher(ITEMS_RELOADED).itemsReloaded();
|
||||
BackgroundTaskUtil.syncPublisher(myProject, ITEMS_RELOADED).itemsReloaded();
|
||||
updateModel();
|
||||
}
|
||||
|
||||
@@ -505,9 +506,9 @@ public class CommittedChangesTreeBrowser extends JPanel implements TypeSafeDataP
|
||||
myFilteringStrategy.appendFilterBase(list);
|
||||
|
||||
myChangesTree.setModel(buildTreeModel(myFilteringStrategy.filterChangeLists(myChangeLists)));
|
||||
state.applyTo(myChangesTree, (DefaultMutableTreeNode)myChangesTree.getModel().getRoot());
|
||||
state.applyTo(myChangesTree, myChangesTree.getModel().getRoot());
|
||||
TreeUtil.expandAll(myChangesTree);
|
||||
myProject.getMessageBus().syncPublisher(ITEMS_RELOADED).itemsReloaded();
|
||||
BackgroundTaskUtil.syncPublisher(myProject, ITEMS_RELOADED).itemsReloaded();
|
||||
}
|
||||
|
||||
public static class MoreLauncher implements Runnable {
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.project.ProjectManagerListener;
|
||||
@@ -699,7 +700,7 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme
|
||||
|
||||
@Override
|
||||
public void notifyDirectoryMappingChanged() {
|
||||
myProject.getMessageBus().syncPublisher(VCS_CONFIGURATION_CHANGED).directoryMappingChanged();
|
||||
BackgroundTaskUtil.syncPublisher(myProject, VCS_CONFIGURATION_CHANGED).directoryMappingChanged();
|
||||
}
|
||||
|
||||
void readDirectoryMappings(final Element element) {
|
||||
|
||||
+2
-2
@@ -17,6 +17,7 @@ package com.intellij.openapi.vcs.impl.projectlevelman;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.MessageType;
|
||||
@@ -182,8 +183,7 @@ public class NewMappings {
|
||||
}
|
||||
|
||||
public void mappingsChanged() {
|
||||
if (myProject.isDisposed()) return;
|
||||
myProject.getMessageBus().syncPublisher(ProjectLevelVcsManager.VCS_CONFIGURATION_CHANGED).directoryMappingChanged();
|
||||
BackgroundTaskUtil.syncPublisher(myProject, ProjectLevelVcsManager.VCS_CONFIGURATION_CHANGED).directoryMappingChanged();
|
||||
myFileStatusManager.fileStatusesChanged();
|
||||
myFileWatchRequestsManager.ping();
|
||||
|
||||
|
||||
+4
-5
@@ -26,6 +26,7 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.progress.*;
|
||||
import com.intellij.openapi.progress.util.BackgroundTaskUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ex.ProjectManagerEx;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
@@ -374,10 +375,8 @@ public abstract class AbstractCommonUpdateAction extends AbstractVcsAction {
|
||||
doVfsRefresh();
|
||||
} finally {
|
||||
myProjectLevelVcsManager.stopBackgroundVcsOperation();
|
||||
if (!myProject.isDisposed()) {
|
||||
myProject.getMessageBus().syncPublisher(UpdatedFilesListener.UPDATED_FILES).
|
||||
consume(UpdatedFilesReverseSide.getPathsFromUpdatedFiles(myUpdatedFiles));
|
||||
}
|
||||
BackgroundTaskUtil.syncPublisher(myProject, UpdatedFilesListener.UPDATED_FILES).
|
||||
consume(UpdatedFilesReverseSide.getPathsFromUpdatedFiles(myUpdatedFiles));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -409,7 +408,7 @@ public abstract class AbstractCommonUpdateAction extends AbstractVcsAction {
|
||||
}
|
||||
|
||||
private void notifyAnnotations() {
|
||||
final VcsAnnotationRefresher refresher = myProject.getMessageBus().syncPublisher(VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED);
|
||||
final VcsAnnotationRefresher refresher = BackgroundTaskUtil.syncPublisher(myProject, VcsAnnotationRefresher.LOCAL_CHANGES_CHANGED);
|
||||
UpdateFilesHelper.iterateFileGroupFilesDeletedOnServerFirst(myUpdatedFiles, new UpdateFilesHelper.Callback() {
|
||||
@Override
|
||||
public void onFile(String filePath, String groupId) {
|
||||
|
||||
Reference in New Issue
Block a user