mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-21 15:23:59 +02:00
[197550] Fix NPE when refreshing Pending items
This commit is contained in:
parent
16fbdff479
commit
7ca8addb9f
1 changed files with 20 additions and 14 deletions
|
@ -14,6 +14,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
* Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
|
||||||
* Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
|
* Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API
|
||||||
* Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
|
* Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core
|
||||||
|
* Martin Oberhuber (Wind River) - [197550] Fix NPE when refreshing Pending items
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.ui.view;
|
package org.eclipse.rse.internal.ui.view;
|
||||||
|
@ -56,10 +57,10 @@ import org.eclipse.ui.progress.PendingUpdateAdapter;
|
||||||
* adapter registered. Also provides label contents, so can be used for
|
* adapter registered. Also provides label contents, so can be used for
|
||||||
* both a content and label provider for TreeViewers.
|
* both a content and label provider for TreeViewers.
|
||||||
* <p>
|
* <p>
|
||||||
* This has a general flavour, which is used in most cases, and also has
|
* This has a general flavor, which is used in most cases, and also has
|
||||||
* a specialized flavour for universal file systems, which allows restricting
|
* a specialized flavor for universal file systems, which allows restricting
|
||||||
* the list to files only or folders only. It also allows further subsetting by
|
* the list to files only or folders only. It also allows further subsetting by
|
||||||
* setting an input filter or filterstring.
|
* setting an input filter or filter string.
|
||||||
*/
|
*/
|
||||||
public class SystemViewLabelAndContentProvider extends LabelProvider
|
public class SystemViewLabelAndContentProvider extends LabelProvider
|
||||||
implements ITreeContentProvider, ILabelProvider, ITableLabelProvider
|
implements ITreeContentProvider, ILabelProvider, ITableLabelProvider
|
||||||
|
@ -262,12 +263,12 @@ public class SystemViewLabelAndContentProvider extends LabelProvider
|
||||||
*/
|
*/
|
||||||
public Object[] getChildren(Object object)
|
public Object[] getChildren(Object object)
|
||||||
{
|
{
|
||||||
ISystemViewElementAdapter adapter = getViewAdapter(object);
|
|
||||||
Object element = object;
|
Object element = object;
|
||||||
if (object instanceof IContextObject)
|
if (object instanceof IContextObject)
|
||||||
{
|
{
|
||||||
element = ((IContextObject)object).getModelObject();
|
element = ((IContextObject)object).getModelObject();
|
||||||
}
|
}
|
||||||
|
ISystemViewElementAdapter adapter = getViewAdapter(element);
|
||||||
if (supportsDeferredQueries())
|
if (supportsDeferredQueries())
|
||||||
{
|
{
|
||||||
// The adapter needs to be checked to be not null, otherwise
|
// The adapter needs to be checked to be not null, otherwise
|
||||||
|
@ -388,23 +389,28 @@ public class SystemViewLabelAndContentProvider extends LabelProvider
|
||||||
public boolean hasChildren(Object element)
|
public boolean hasChildren(Object element)
|
||||||
{
|
{
|
||||||
ISystemViewElementAdapter adapter = getViewAdapter(element);
|
ISystemViewElementAdapter adapter = getViewAdapter(element);
|
||||||
if (element instanceof IContextObject)
|
if (adapter!=null) {
|
||||||
{
|
if (element instanceof IContextObject)
|
||||||
return adapter.hasChildren((IContextObject)element);
|
{
|
||||||
|
return adapter.hasChildren((IContextObject)element);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return adapter.hasChildren((IAdaptable)element);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (adapter != null)
|
if (element instanceof IContextObject) {
|
||||||
{
|
element = ((IContextObject)element).getModelObject();
|
||||||
return adapter.hasChildren((IAdaptable)element);
|
}
|
||||||
}
|
if (manager != null && manager.isDeferredAdapter(element)) {
|
||||||
if (manager != null) {
|
return manager.mayHaveChildren(element);
|
||||||
if (manager.isDeferredAdapter(element))
|
|
||||||
return manager.mayHaveChildren(element);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inputChanged method comment.
|
* inputChanged method comment.
|
||||||
* AS LONG AS WE DON'T SUPPORT IWORKSPACE OBJECT THIS IS NOT NEEDED.
|
* AS LONG AS WE DON'T SUPPORT IWORKSPACE OBJECT THIS IS NOT NEEDED.
|
||||||
|
|
Loading…
Add table
Reference in a new issue