From 99e111ceea7d08319573a99a8fb0db0ea4f6fd69 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Mon, 3 Sep 2007 17:21:32 +0000 Subject: [PATCH] [190613] Properly wait for InitRSEJob to run on remotecdt initialization --- .../internal/remotecdt/RemoteCMainTab.java | 63 +++++++++++++++++-- 1 file changed, 58 insertions(+), 5 deletions(-) diff --git a/rse/examples/org.eclipse.rse.remotecdt/src/org/eclipse/rse/internal/remotecdt/RemoteCMainTab.java b/rse/examples/org.eclipse.rse.remotecdt/src/org/eclipse/rse/internal/remotecdt/RemoteCMainTab.java index 6b660dbf01a..d20ac607d19 100644 --- a/rse/examples/org.eclipse.rse.remotecdt/src/org/eclipse/rse/internal/remotecdt/RemoteCMainTab.java +++ b/rse/examples/org.eclipse.rse.remotecdt/src/org/eclipse/rse/internal/remotecdt/RemoteCMainTab.java @@ -18,7 +18,11 @@ import org.eclipse.cdt.launch.ui.CMainTab; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.jface.window.Window; @@ -40,6 +44,7 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.PlatformUI; @@ -66,6 +71,8 @@ public class RemoteCMainTab extends CMainTab { protected Button skipDownloadButton; protected Button useLocalPathButton; + private static int initializedRSE = 0; //0=not initialized; -1=initializing; 1=initialized + SystemNewConnectionAction action = null; public RemoteCMainTab(boolean terminalOption) { @@ -329,11 +336,57 @@ public class RemoteCMainTab extends CMainTab { } } + private void waitForRSEInit(final Runnable callback) { + Job initRSEJob = null; + Job[] jobs = Job.getJobManager().find(null); + for(int i=0; i 0) connectionCombo.select(connections.length - 1); - } + } } protected void updateTargetProgFromConfig(ILaunchConfiguration config) {