Lines 78-83
static void _didExecute(WebScriptObject
Link Here
|
78 |
|
78 |
|
79 |
if(_private->rootObject) |
79 |
if(_private->rootObject) |
80 |
_private->rootObject->gcProtect(imp); |
80 |
_private->rootObject->gcProtect(imp); |
|
|
81 |
// We may stick around after the root object is invalidated, so we need to |
82 |
// also protect the JS object ourselves. |
83 |
JSLock lock; |
84 |
gcProtect(imp); |
81 |
} |
85 |
} |
82 |
|
86 |
|
83 |
- (id)_initWithJSObject:(KJS::JSObject*)imp originRootObject:(PassRefPtr<KJS::Bindings::RootObject>)originRootObject rootObject:(PassRefPtr<KJS::Bindings::RootObject>)rootObject |
87 |
- (id)_initWithJSObject:(KJS::JSObject*)imp originRootObject:(PassRefPtr<KJS::Bindings::RootObject>)originRootObject rootObject:(PassRefPtr<KJS::Bindings::RootObject>)rootObject |
Lines 131-136
static void _didExecute(WebScriptObject
Link Here
|
131 |
if (_private->rootObject && _private->rootObject->isValid()) |
135 |
if (_private->rootObject && _private->rootObject->isValid()) |
132 |
_private->rootObject->gcUnprotect(_private->imp); |
136 |
_private->rootObject->gcUnprotect(_private->imp); |
133 |
|
137 |
|
|
|
138 |
if (_private->imp) { |
139 |
JSLock lock; |
140 |
gcUnprotect(_private->imp); |
141 |
} |
142 |
|
134 |
if (_private->rootObject) |
143 |
if (_private->rootObject) |
135 |
_private->rootObject->deref(); |
144 |
_private->rootObject->deref(); |
136 |
|
145 |
|
Lines 147-152
static void _didExecute(WebScriptObject
Link Here
|
147 |
if (_private->rootObject && _private->rootObject->isValid()) |
156 |
if (_private->rootObject && _private->rootObject->isValid()) |
148 |
_private->rootObject->gcUnprotect(_private->imp); |
157 |
_private->rootObject->gcUnprotect(_private->imp); |
149 |
|
158 |
|
|
|
159 |
if (_private->imp) { |
160 |
JSLock lock; |
161 |
gcUnprotect(_private->imp); |
162 |
} |
163 |
|
150 |
if (_private->rootObject) |
164 |
if (_private->rootObject) |
151 |
_private->rootObject->deref(); |
165 |
_private->rootObject->deref(); |
152 |
|
166 |
|