private void LaunchDialogAndTask(IWin32Window owner)
{
AddStartListener();
var progressDlg = m_progressDialog as ProgressDialogWithTaskDlgImpl;
if (progressDlg != null)
{
if (m_synchronizeInvoke.InvokeRequired)
{
m_synchronizeInvoke.Invoke((Func<IWin32Window, DialogResult>)progressDlg.LaunchDialogAndStartTask,
new object[] { owner });
}
else
{
progressDlg.LaunchDialogAndStartTask(owner);
}
}
else
{
if (m_synchronizeInvoke.InvokeRequired)
{
m_synchronizeInvoke.Invoke((Func<IWin32Window, DialogResult>)m_progressDialog.ShowDialog,
new object[] { owner });
}
else
{
m_progressDialog.ShowDialog(owner);
}
}
}