| Index: remoting/client/chromoting_client.cc
|
| diff --git a/remoting/client/chromoting_client.cc b/remoting/client/chromoting_client.cc
|
| index 327afa067dfa04bc9d65367bcc9acbc7e6b02725..bde10dabba8d17b163a03913496d8bd3bd0abf91 100644
|
| --- a/remoting/client/chromoting_client.cc
|
| +++ b/remoting/client/chromoting_client.cc
|
| @@ -28,7 +28,7 @@ ChromotingClient::ChromotingClient(const ClientConfig& config,
|
| ChromotingView* view,
|
| RectangleUpdateDecoder* rectangle_decoder,
|
| InputHandler* input_handler,
|
| - Task* client_done)
|
| + const base::Closure& client_done)
|
| : config_(config),
|
| context_(context),
|
| connection_(connection),
|
| @@ -75,8 +75,9 @@ void ChromotingClient::OnDisconnected(const base::Closure& shutdown_task) {
|
| }
|
|
|
| void ChromotingClient::ClientDone() {
|
| - if (client_done_ != NULL) {
|
| + if (!client_done_.is_null()) {
|
| message_loop()->PostTask(FROM_HERE, client_done_);
|
| + client_done_.Reset();
|
| }
|
| }
|
|
|
| @@ -146,8 +147,8 @@ void ChromotingClient::DispatchPacket() {
|
| decode_start = base::Time::Now();
|
|
|
| rectangle_decoder_->DecodePacket(
|
| - packet, NewRunnableMethod(this, &ChromotingClient::OnPacketDone,
|
| - last_packet, decode_start));
|
| + packet, base::Bind(&ChromotingClient::OnPacketDone,
|
| + base::Unretained(this), last_packet, decode_start));
|
| }
|
|
|
| void ChromotingClient::OnConnectionState(
|
|
|