/* static */ bool GlobalObject::addDebugger(JSContext *cx, Handle<GlobalObject*> global, Debugger *dbg) { DebuggerVector *debuggers = getOrCreateDebuggers(cx, global); if (!debuggers) return false; #ifdef DEBUG for (Debugger **p = debuggers->begin(); p != debuggers->end(); p++) JS_ASSERT(*p != dbg); #endif if (debuggers->empty() && !global->compartment()->addDebuggee(cx, global)) return false; if (!debuggers->append(dbg)) { global->compartment()->removeDebuggee(cx->runtime->defaultFreeOp(), global); return false; } return true; }
bool GlobalObject::addDebugger(JSContext *cx, Debugger *dbg) { DebuggerVector *debuggers = getOrCreateDebuggers(cx); if (!debuggers) return false; #ifdef DEBUG for (Debugger **p = debuggers->begin(); p != debuggers->end(); p++) JS_ASSERT(*p != dbg); #endif if (debuggers->empty() && !compartment()->addDebuggee(cx, this)) return false; if (!debuggers->append(dbg)) { compartment()->removeDebuggee(cx, this); return false; } return true; }