Index: blimp/client/feature/compositor/blimp_context_provider.cc |
diff --git a/blimp/client/feature/compositor/blimp_context_provider.cc b/blimp/client/feature/compositor/blimp_context_provider.cc |
index bfb6e8fb8cc83a05f002bb40ceb2c8264f647fbd..43bdd770133a0ba3c88c914ce5a977977cdd1779 100644 |
--- a/blimp/client/feature/compositor/blimp_context_provider.cc |
+++ b/blimp/client/feature/compositor/blimp_context_provider.cc |
@@ -45,7 +45,7 @@ |
widget, gfx::Size(1, 1), nullptr /* share_context */, attribs_for_gles2, |
gfx::PreferDiscreteGpu, gpu::GLInProcessContextSharedMemoryLimits(), |
gpu_memory_buffer_manager, nullptr /* memory_limits */)); |
- context_->GetImplementation()->SetLostContextCallback( |
+ context_->SetContextLostCallback( |
base::Bind(&BlimpContextProvider::OnLostContext, base::Unretained(this))); |
} |
@@ -128,7 +128,7 @@ |
void BlimpContextProvider::OnLostContext() { |
DCHECK(context_thread_checker_.CalledOnValidThread()); |
if (!lost_context_callback_.is_null()) |
- lost_context_callback_.Run(); |
+ base::ResetAndReturn(&lost_context_callback_).Run(); |
if (gr_context_) |
gr_context_->abandonContext(); |
} |