Fix crash in Debug::SendCommand.
R=vitalyr@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/6715029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b6d288a051
commit
41f30cac90
@ -276,8 +276,12 @@ class EXPORT Debug {
|
||||
static void SetMessageHandler(MessageHandler handler,
|
||||
bool message_handler_thread = false);
|
||||
static void SetMessageHandler2(MessageHandler2 handler);
|
||||
|
||||
// If no isolate is provided the default isolate is
|
||||
// used.
|
||||
static void SendCommand(const uint16_t* command, int length,
|
||||
ClientData* client_data = NULL);
|
||||
ClientData* client_data = NULL,
|
||||
Isolate* isolate = NULL);
|
||||
|
||||
// Dispatch interface.
|
||||
static void SetHostDispatchHandler(HostDispatchHandler handler,
|
||||
|
15
src/api.cc
15
src/api.cc
@ -4904,10 +4904,17 @@ void Debug::SetMessageHandler2(v8::Debug::MessageHandler2 handler) {
|
||||
|
||||
|
||||
void Debug::SendCommand(const uint16_t* command, int length,
|
||||
ClientData* client_data) {
|
||||
if (!i::Isolate::Current()->IsInitialized()) return;
|
||||
i::Isolate::Current()->debugger()->ProcessCommand(
|
||||
i::Vector<const uint16_t>(command, length), client_data);
|
||||
ClientData* client_data,
|
||||
Isolate* isolate) {
|
||||
// If no isolate is supplied, use the default isolate.
|
||||
if (isolate != NULL) {
|
||||
i::Isolate* internal_isolate = reinterpret_cast<i::Isolate*>(isolate);
|
||||
internal_isolate->debugger()->ProcessCommand(
|
||||
i::Vector<const uint16_t>(command, length), client_data);
|
||||
} else {
|
||||
i::Isolate::GetDefaultIsolateDebugger()->ProcessCommand(
|
||||
i::Vector<const uint16_t>(command, length), client_data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user