# HG changeset patch # User rubidium # Date 1259936634 0 # Node ID 1bf0fa7bf81bcda7af19ea5350afd1e9ad0c9140 # Parent 6743b6fffc6eb05c8d0cdf3af2c0a23a1cc8e247 (svn r18397) -Fix [FS#3346]: after cancelling downloading the download button would remain disabled diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -110,7 +110,6 @@ /* Yes... these are the NewGRF windows */ InvalidateWindowClassesData(WC_SAVELOAD); InvalidateWindowData(WC_GAME_OPTIONS, 0, 1); - InvalidateWindowData(WC_NETWORK_WINDOW, 1, 2); break; case CONTENT_TYPE_SCENARIO: @@ -125,6 +124,8 @@ } } + /* Always invalidate the download window; tell it we are going to be gone */ + InvalidateWindowData(WC_NETWORK_WINDOW, 1, 2); _network_content_client.RemoveCallback(this); } @@ -781,7 +782,8 @@ } } - this->SetWidgetDisabledState(NCLWW_DOWNLOAD, this->filesize_sum == 0 || FindWindowById(WC_NETWORK_STATUS_WINDOW, 0) != NULL); + /* If data == 2 then the status window caused this OnInvalidate */ + this->SetWidgetDisabledState(NCLWW_DOWNLOAD, this->filesize_sum == 0 || (FindWindowById(WC_NETWORK_STATUS_WINDOW, 0) != NULL && data != 2)); this->SetWidgetDisabledState(NCLWW_UNSELECT, this->filesize_sum == 0); this->SetWidgetDisabledState(NCLWW_SELECT_ALL, !show_select_all); this->SetWidgetDisabledState(NCLWW_SELECT_UPDATE, !show_select_upgrade);