Index: remoting/protocol/message_reader.cc |
diff --git a/remoting/protocol/message_reader.cc b/remoting/protocol/message_reader.cc |
index d52448dffdec7b7a49bba703f61a5f2cff13f92a..f97e6bd4094a6007f3559c0fc4f8469148bc9a2a 100644 |
--- a/remoting/protocol/message_reader.cc |
+++ b/remoting/protocol/message_reader.cc |
@@ -95,22 +95,21 @@ void MessageReader::OnDataReceived(net::IOBuffer* data, int data_size) { |
// plugin thread if this code is compiled into a separate binary. Fix this. |
for (std::vector<CompoundBuffer*>::iterator it = new_messages.begin(); |
it != new_messages.end(); ++it) { |
- message_received_callback_.Run(*it, base::Bind( |
- &MessageReader::OnMessageDone, this, |
- *it, base::MessageLoopProxy::current())); |
+ message_received_callback_.Run( |
+ scoped_ptr<CompoundBuffer>(*it), |
+ base::Bind(&MessageReader::OnMessageDone, this, |
+ base::MessageLoopProxy::current())); |
} |
} |
void MessageReader::OnMessageDone( |
- CompoundBuffer* message, |
scoped_refptr<base::MessageLoopProxy> message_loop) { |
if (!message_loop->BelongsToCurrentThread()) { |
message_loop->PostTask( |
FROM_HERE, |
- base::Bind(&MessageReader::OnMessageDone, this, message, message_loop)); |
+ base::Bind(&MessageReader::OnMessageDone, this, message_loop)); |
return; |
} |
- delete message; |
ProcessDoneEvent(); |
} |