Index: runtime/vm/debugger.cc |
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc |
index 1b3d84a97e441602c1a7ec5cce5838387b56109a..696e6404d6592069986b37d9f7ca7e37211a7362 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()) { |