summaryrefslogtreecommitdiff
path: root/src/network/network_content_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-01-22 10:09:56 +0000
committerrubidium <rubidium@openttd.org>2009-01-22 10:09:56 +0000
commitbf47489d581180effbfe9a3a5904af7cf62c994a (patch)
tree9407b6f5d2c57ed543f7d9315bb6b15169351ab8 /src/network/network_content_gui.cpp
parent4d8c4670677c9fe26afc91da18207db068afd2e9 (diff)
downloadopenttd-bf47489d581180effbfe9a3a5904af7cf62c994a.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.cpp5
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)