summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/message-stream.cc
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2010-07-04 11:20:12 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2010-07-04 11:20:12 +0530
commit8285ca3a96744ffb71c202e67a47f7891dd06433 (patch)
treeda701d3f53556118dc899041114d2d1652ef8ae6 /crawl-ref/source/message-stream.cc
parent0b1a733c72673d5e9c19fe815b255329550f7dcb (diff)
downloadcrawl-ref-8285ca3a96744ffb71c202e67a47f7891dd06433.tar.gz
crawl-ref-8285ca3a96744ffb71c202e67a47f7891dd06433.zip
Fix message stream leak when playing multiple games without restarting Crawl.
Diffstat (limited to 'crawl-ref/source/message-stream.cc')
-rw-r--r--crawl-ref/source/message-stream.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/crawl-ref/source/message-stream.cc b/crawl-ref/source/message-stream.cc
index 2ed836fd08..b3bde062e7 100644
--- a/crawl-ref/source/message-stream.cc
+++ b/crawl-ref/source/message-stream.cc
@@ -7,8 +7,8 @@
namespace msg
{
- mpr_stream_buf* msbuf = new mpr_stream_buf(MSGCH_PLAIN);
- std::ostream stream(msbuf);
+ mpr_stream_buf msbuf(MSGCH_PLAIN);
+ std::ostream stream(&msbuf);
std::vector<std::ostream*> stream_ptrs;
std::vector<mpr_stream_buf*> stream_buffers;
@@ -35,7 +35,6 @@ namespace msg
void deinitialise_mpr_streams()
{
- delete msbuf;
for (unsigned int i = 0; i < stream_ptrs.size(); ++i)
delete stream_ptrs[i];
stream_ptrs.clear();