Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/cross
diff options
context:
space:
mode:
Diffstat (limited to 'cross')
-rw-r--r--cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
index 0d8e92982d9..f0f0c31d8a1 100644
--- a/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
+++ b/cross/org.eclipse.cdt.launch.remote/src/org/eclipse/cdt/launch/remote/tabs/RemoteCDSFMainTab.java
@@ -43,9 +43,11 @@ import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.remote.core.IRemoteConnection;
import org.eclipse.remote.core.IRemoteServicesManager;
+import org.eclipse.remote.ui.IRemoteUIConnectionService;
import org.eclipse.remote.ui.dialogs.RemoteResourceBrowser;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
@@ -344,6 +346,20 @@ public class RemoteCDSFMainTab extends CMainTab {
protected void handleRemoteBrowseSelected() {
IRemoteConnection currentConnectionSelected = getCurrentConnection();
+
+ // Try to open the connection before showing RemoteResourceBrowser
+ if (currentConnectionSelected != null && !currentConnectionSelected.isOpen()) {
+ if (currentConnectionSelected.getConnectionType().hasService(IRemoteUIConnectionService.class)) {
+
+ IRemoteUIConnectionService uiConnService = currentConnectionSelected.getConnectionType().getService(IRemoteUIConnectionService.class);
+ uiConnService.openConnectionWithProgress(getShell(), new ProgressMonitorDialog(getShell()), currentConnectionSelected);
+
+ // Don't show RemoteResourceBrowser if the connection cannot be opened
+ if (!currentConnectionSelected.isOpen())
+ return;
+ }
+ }
+
RemoteResourceBrowser b = new RemoteResourceBrowser(getControl().getShell(),
SWT.NONE);
b.setConnection(currentConnectionSelected);

Back to the top