Index: runtime/vm/debugger.cc |
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc |
index 39dc8a8e863e2a2a3f0f892e2226eefc068a6e47..8e021e7086ed43d6c148ad4a6bda832097280951 100644 |
--- a/runtime/vm/debugger.cc |
+++ b/runtime/vm/debugger.cc |
@@ -305,12 +305,15 @@ void Debugger::InvokeEventHandler(DebuggerEvent* event) { |
Service::HandleEvent(&service_event); |
} |
- if ((FLAG_steal_breakpoints || (event_handler_ == NULL)) && |
- event->IsPauseEvent()) { |
- // We allow the embedder's default breakpoint handler to be overridden. |
- isolate_->PauseEventHandler(); |
- } else if (event_handler_ != NULL) { |
- (*event_handler_)(event); |
+ { |
+ TransitionVMToNative transition(Thread::Current()); |
+ if ((FLAG_steal_breakpoints || (event_handler_ == NULL)) && |
+ event->IsPauseEvent()) { |
+ // We allow the embedder's default breakpoint handler to be overridden. |
+ isolate_->PauseEventHandler(); |
+ } else if (event_handler_ != NULL) { |
+ (*event_handler_)(event); |
+ } |
} |
if (ServiceNeedsDebuggerEvent(event->type()) && event->IsPauseEvent()) { |