diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/MakeContentProvider.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/MakeContentProvider.java index 79bc55d686c..db78a25a74d 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/MakeContentProvider.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/MakeContentProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2013 QNX Software Systems and others. + * Copyright (c) 2000, 2017 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -252,21 +252,23 @@ public class MakeContentProvider implements ITreeContentProvider, IMakeTargetLis if (viewer == null || viewer.getControl() == null || viewer.getControl().isDisposed()) return; - int itemCount = 0; - if (viewer instanceof TreeViewer) { - itemCount = ((TreeViewer) viewer).getTree().getItemCount(); - } else if (viewer instanceof TableViewer) { - itemCount = ((TableViewer) viewer).getTable().getItemCount(); - } - if (itemCount <= 0) { - return; - } - + // Get first item of the viewer Object firstItem = null; if (viewer instanceof TreeViewer) { - firstItem = ((TreeViewer) viewer).getTree().getItem(0).getData(); + if( ((TreeViewer) viewer).getTree().getItemCount() <= 0) { + // No items yet, no refresh needed + return; + } else { + firstItem = ((TreeViewer) viewer).getTree().getItem(0).getData(); + } } else if (viewer instanceof TableViewer) { - firstItem = ((TableViewer) viewer).getTable().getItem(0).getData(); + if( ((TableViewer) viewer).getTable().getItemCount() <= 0) { + // No items yet, refresh + viewer.refresh(); + return; + } else { + firstItem = ((TableViewer) viewer).getTable().getItem(0).getData(); + } } IContainer parentContainer = null;