diff -up ./launch/org.eclipse.cdt.docker.launcher/META-INF/MANIFEST.MF.orig ./launch/org.eclipse.cdt.docker.launcher/META-INF/MANIFEST.MF
diff -up ./launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTab.java.orig ./launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTab.java
--- ./launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTab.java.orig 2017-09-13 12:02:58.000000000 -0400
+++ ./launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerTab.java 2018-01-08 14:23:15.700642912 -0500
@@ -81,6 +81,7 @@ public class ContainerTab extends Abstra
connection = connections[index];
connectionUri = connection.getUri();
if (!connectionName.equals(connection.getName())) {
+ setErrorMessage(null);
updateLaunchConfigurationDialog();
initializeImageCombo();
}
@@ -520,6 +521,7 @@ public class ContainerTab extends Abstra
public void changeEvent(int type) {
String currUri = null;
int currIndex = 0;
+ setErrorMessage(null);
connections = DockerConnectionManager.getInstance().getConnections();
if (connection != null) {
currUri = connection.getUri();
@@ -541,7 +543,12 @@ public class ContainerTab extends Abstra
connectionSelector.setText(connectionNames[index]);
connection = connections[index];
connectionUri = connection.getUri();
+ java.util.List<IDockerImage> images = connection.getImages();
+ if (images == null || images.size() == 0) {
+ setErrorMessage(Messages.ContainerTab_Error_No_Images);
+ }
} else {
+ setErrorMessage(Messages.ContainerTab_Error_No_Connections);
connection = null;
connectionUri = "";
connectionSelector.setText("");
@@ -555,7 +562,11 @@ public class ContainerTab extends Abstra
public void listChanged(IDockerConnection c,
java.util.List<IDockerImage> list) {
+ setErrorMessage(null);
final IDockerImage[] finalList = list.toArray(new IDockerImage[0]);
+ if (finalList.length == 0) {
+ setErrorMessage(Messages.ContainerTab_Error_No_Images);
+ }
if (c.getName().equals(connection.getName())) {
Display.getDefault().syncExec(new Runnable() {
@Override