From e027fa76b1a9b5ff48e645f640dac323fcdeff2c Mon Sep 17 00:00:00 2001 From: truelight Date: Sun, 12 Dec 2004 13:46:10 +0000 Subject: [PATCH] (svn r1022) -Fix: [Network] [ 1083690 ] The password dialog made the network disconnect without cleaning up. --- main_gui.c | 3 ++- misc_gui.c | 4 ++-- network.c | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/main_gui.c b/main_gui.c index 918b3c6a09..49e311a7a1 100644 --- a/main_gui.c +++ b/main_gui.c @@ -51,6 +51,7 @@ void HandleOnEditTextCancel() { #ifdef ENABLE_NETWORK case 4: NetworkDisconnect(); + ShowNetworkGameWindow(); break; #endif /* ENABLE_NETWORK */ } @@ -2228,7 +2229,7 @@ static void MainWindowWndProc(Window *w, WindowEvent *e) { DrawSprite(SPR_OTTD_T, off_x + 34, 50); DrawSprite(SPR_OTTD_T, off_x + 65, 50); DrawSprite(SPR_OTTD_D, off_x + 96, 50); - + /* DrawSprite(SPR_OTTD_R, off_x + 119, 50); DrawSprite(SPR_OTTD_A, off_x + 148, 50); diff --git a/misc_gui.c b/misc_gui.c index d23862434e..824c53a6fe 100644 --- a/misc_gui.c +++ b/misc_gui.c @@ -791,11 +791,11 @@ press_ok:; WindowNumber wnd_num = WP(w,querystr_d).wnd_num; Window *parent; - DeleteWindow(w); - // Mask the edit-box as closed, so we don't send out a CANCEL closed = true; + DeleteWindow(w); + parent = FindWindowById(wnd_class, wnd_num); if (parent != NULL) { WindowEvent e; diff --git a/network.c b/network.c index 07c352d266..baa1c955d5 100644 --- a/network.c +++ b/network.c @@ -896,6 +896,8 @@ void NetworkDisconnect(void) } } + DeleteWindowById(WC_NETWORK_STATUS_WINDOW, 0); + NetworkClose(); // Free all queued commands