Author: rob.stryker(a)jboss.com
Date: 2008-10-01 15:01:01 -0400 (Wed, 01 Oct 2008)
New Revision: 10612
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java
Log:
JBIDE-2664 - NPE
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java
===================================================================
---
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java 2008-10-01
18:15:35 UTC (rev 10611)
+++
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/providers/ArchivesContentProviderDelegate.java 2008-10-01
19:01:01 UTC (rev 10612)
@@ -93,7 +93,10 @@
// if currently loading, always send a delay
if( loadingProjects.contains(p))
return new Object[]{new DelayProxy(wp)};
-
+
+ if( !p.isOpen())
+ return new Object[]{};
+
if( ArchivesModel.instance().isProjectRegistered(p.getLocation()))
return ArchivesModel.instance().getRoot(p.getLocation()).getAllChildren();
if( ArchivesModel.instance().canReregister(p.getLocation())) {
@@ -125,7 +128,8 @@
}
protected boolean shouldRefreshProject() {
- if( viewerInUse == ProjectArchivesCommonView.getInstance().getCommonViewer()
&&
+ if( ProjectArchivesCommonView.getInstance() != null &&
+ viewerInUse == ProjectArchivesCommonView.getInstance().getCommonViewer() &&
!PrefsInitializer.getBoolean(PrefsInitializer.PREF_SHOW_PROJECT_ROOT))
return true;
return false;
@@ -139,7 +143,9 @@
if( element instanceof IArchiveNode )
return getChildren(element).length > 0;
if( element instanceof IResource )
- return ArchivesModel.instance().canReregister(((IResource)element).getLocation());
+ return
+ ((IResource)element).getProject().isOpen() &&
+ ArchivesModel.instance().canReregister(((IResource)element).getLocation());
if( element == ArchivesRootContentProvider.NO_PROJECT)
return false;
if( element instanceof DelayProxy)
Show replies by date