diff options
author | Michael Valenta | 2003-07-17 15:08:02 +0000 |
---|---|---|
committer | Michael Valenta | 2003-07-17 15:08:02 +0000 |
commit | 0c3b3ca06958e58172b18edebd3af4119c04d199 (patch) | |
tree | 9c8f57582316d8abfb75a34f9e561961021ef993 | |
parent | 1409df2ed8768e73099ef2a04c70f433686e5822 (diff) | |
download | eclipse.platform.team-0c3b3ca06958e58172b18edebd3af4119c04d199.tar.gz eclipse.platform.team-0c3b3ca06958e58172b18edebd3af4119c04d199.tar.xz eclipse.platform.team-0c3b3ca06958e58172b18edebd3af4119c04d199.zip |
40283: NPE on startup due to compressed folder content providerI20030717a
3 files changed, 10 insertions, 10 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncSetContentProvider.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncSetContentProvider.java index c2dbec56f..4d1965e84 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncSetContentProvider.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncSetContentProvider.java @@ -31,7 +31,9 @@ public abstract class SyncSetContentProvider implements IStructuredContentProvid return null; } Object input = viewer.getInput(); - if (input == null) return null; + if (input == null) { + return null; + } return (SyncSet)input; } diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncTreeViewer.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncTreeViewer.java index d8fc4347c..4b4dc65d8 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncTreeViewer.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncTreeViewer.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import org.eclipse.core.resources.IResource; import org.eclipse.jface.viewers.IBaseLabelProvider; +import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.LabelProviderChangedEvent; import org.eclipse.jface.viewers.OpenEvent; @@ -29,22 +30,19 @@ import org.eclipse.swt.widgets.TreeItem; * a subclass just for this! */ public class SyncTreeViewer extends TreeViewer implements INavigableControl { - private final SyncViewer viewer; - public SyncTreeViewer(SyncViewer viewer, Composite parent, int style) { + public SyncTreeViewer(Composite parent, int style) { super(parent, style); - this.viewer = viewer; } protected void handleLabelProviderChanged(LabelProviderChangedEvent event) { Object[] changed= event.getElements(); - if (changed != null && this.viewer.getInput() != null) { + if (changed != null && getInput() != null) { ArrayList others= new ArrayList(); for (int i= 0; i < changed.length; i++) { Object curr = changed[i]; if (curr instanceof IResource) { - // TODO: This may be the wrong model object! - SyncSetContentProvider provider = viewer.getContentProvider(); - if (provider != null) { - curr = provider.getModelObject((IResource)curr); + IContentProvider provider = getContentProvider(); + if (provider != null && provider instanceof SyncSetContentProvider) { + curr = ((SyncSetContentProvider)provider).getModelObject((IResource)curr); } } others.add(curr); diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncViewer.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncViewer.java index de0459dd0..04c140d27 100644 --- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncViewer.java +++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SyncViewer.java @@ -252,7 +252,7 @@ public class SyncViewer extends ViewPart implements ITeamResourceChangeListener, } private void createTreeViewerPartControl(Composite parent) { - viewer = new SyncTreeViewer(this, parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + viewer = new SyncTreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); setTreeViewerContentProvider(); viewer.setLabelProvider(SyncViewerLabelProvider.getDecoratingLabelProvider()); viewer.setSorter(new SyncViewerSorter(ResourceSorter.NAME)); |