diff options
author | rubidium <rubidium@openttd.org> | 2009-01-22 10:09:56 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-01-22 10:09:56 +0000 |
commit | 4f5a8b15edea385f5eadbe9bb40927d07576a61d (patch) | |
tree | 9407b6f5d2c57ed543f7d9315bb6b15169351ab8 /src/network/network_content_gui.cpp | |
parent | 92b9ff3f9660fc2a5ac154a762f7568e40c97ad4 (diff) | |
download | openttd-4f5a8b15edea385f5eadbe9bb40927d07576a61d.tar.xz |
(svn r15206) -Fix [FS#2567]: memory corruption due to not properly cleanup up the mess when cancelling a download
Diffstat (limited to 'src/network/network_content_gui.cpp')
-rw-r--r-- | src/network/network_content_gui.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 8b930168a..bac705886 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -136,7 +136,10 @@ public: virtual void OnClick(Point pt, int widget) { - if (widget == NCDSWW_CANCELOK) delete this; + if (widget == NCDSWW_CANCELOK && this->downloaded_bytes != this->total_bytes) { + _network_content_client.Close(); + delete this; + } } virtual void OnDownloadProgress(const ContentInfo *ci, uint bytes) |