mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed tests
This commit is contained in:
+20
-16
@@ -14,6 +14,7 @@ import com.intellij.openapi.wm.ex.ToolWindowManagerEx;
|
||||
import com.intellij.openapi.wm.ext.LibraryDependentToolWindow;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class LibraryDependentToolWindowManager extends AbstractProjectComponent {
|
||||
private final ToolWindowManagerEx myToolWindowManager;
|
||||
@@ -28,34 +29,37 @@ public class LibraryDependentToolWindowManager extends AbstractProjectComponent
|
||||
public void projectOpened() {
|
||||
final ModuleRootListener rootListener = new ModuleRootAdapter() {
|
||||
public void rootsChanged(ModuleRootEvent event) {
|
||||
checkToolWindowStatuses();
|
||||
if (!myProject.isDisposed()) {
|
||||
checkToolWindowStatuses(myProject);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
StartupManager.getInstance(myProject).runWhenProjectIsInitialized(new Runnable() {
|
||||
public void run() {
|
||||
checkToolWindowStatuses();
|
||||
final MessageBusConnection connection = myProject.getMessageBus().connect(myProject);
|
||||
connection.subscribe(ProjectTopics.PROJECT_ROOTS, rootListener);
|
||||
if (!myProject.isDisposed()) {
|
||||
checkToolWindowStatuses(myProject);
|
||||
final MessageBusConnection connection = myProject.getMessageBus().connect(myProject);
|
||||
connection.subscribe(ProjectTopics.PROJECT_ROOTS, rootListener);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void checkToolWindowStatuses() {
|
||||
if (myProject.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
final PsiManager psiManager = PsiManager.getInstance(myProject);
|
||||
if (psiManager.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
private void checkToolWindowStatuses(@NotNull final Project project) {
|
||||
assert !project.isDisposed();
|
||||
|
||||
DumbService.getInstance(myProject).smartInvokeLater(new Runnable() {
|
||||
DumbService.getInstance(project).smartInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
if (myProject.isDisposed()) return;
|
||||
|
||||
if (project.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
final PsiManager psiManager = PsiManager.getInstance(myProject);
|
||||
if (psiManager.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
for (LibraryDependentToolWindow libraryToolWindow : Extensions.getExtensions(LibraryDependentToolWindow.EXTENSION_POINT_NAME)) {
|
||||
if (libraryToolWindow.getLibrarySearchHelper().isLibraryExists(myProject)) {
|
||||
if (libraryToolWindow.getLibrarySearchHelper().isLibraryExists(project)) {
|
||||
ensureToolWindowExists(libraryToolWindow);
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user