diff --git a/tests/cefclient/browser/print_handler_gtk.cc b/tests/cefclient/browser/print_handler_gtk.cc index d00f0431b..9a822b7a9 100644 --- a/tests/cefclient/browser/print_handler_gtk.cc +++ b/tests/cefclient/browser/print_handler_gtk.cc @@ -513,7 +513,11 @@ struct ClientPrintHandlerGtk::PrintHandler { } void OnJobCompleted(GtkPrintJob* print_job, GError* error) { - job_callback_->Continue(); + // Continue() will result in a call to ClientPrintHandlerGtk::OnPrintReset + // which deletes |this|. Execute it asnychronously so the call stack has a + // chance to unwind. + CefPostTask(TID_UI, base::Bind(&CefPrintJobCallback::Continue, + job_callback_.get())); job_callback_ = NULL; }