private void DisposeAndCloseIE(bool closeIE) { if (isDisposed) { return; } Logger.LogDebug(Resources.IE_Dispose); if (closeIE && IsInternetExplorerStillAvailable()) { // Close all open HTMLDialogs HtmlDialogs.CloseAll(); } base.Dispose(true); if (closeIE && IsInternetExplorerStillAvailable()) { // Ask IE to close _ieBrowser.Quit(); } _ieBrowser = null; if (closeIE) { // Wait for IE to close to prevent RPC errors when creating // a new WatiN.Core.IE instance. Thread.Sleep(1000); } isDisposed = true; }