fixed tests

This commit is contained in:
Serega Vasiliev
2014-04-24 12:53:39 +02:00
parent 8fde24a3fb
commit 3ca40fc18b
@@ -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 {