mirror of
https://github.com/servo/servo.git
synced 2025-06-20 23:28:59 +01:00
Move script local_data_pop out of dtor
Fixes #570, which was caused by a second reentrant call to the dtor.
This commit is contained in:
parent
cca33c2027
commit
4fd6ad3d5c
2 changed files with 6 additions and 13 deletions
|
@ -167,15 +167,6 @@ pub fn task_from_context(js_context: *JSContext) -> *mut ScriptTask {
|
|||
}
|
||||
}
|
||||
|
||||
#[unsafe_destructor]
|
||||
impl Drop for ScriptTask {
|
||||
fn drop(&self) {
|
||||
unsafe {
|
||||
let _ = local_data::local_data_pop(global_script_context_key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ScriptTask {
|
||||
/// Creates a new script task.
|
||||
pub fn new(id: uint,
|
||||
|
@ -362,7 +353,11 @@ impl ScriptTask {
|
|||
frame.document.teardown();
|
||||
}
|
||||
|
||||
self.layout_chan.send(layout_interface::ExitMsg)
|
||||
self.layout_chan.send(layout_interface::ExitMsg);
|
||||
|
||||
unsafe {
|
||||
let _ = local_data::local_data_pop(global_script_context_key);
|
||||
}
|
||||
}
|
||||
|
||||
/// The entry point to document loading. Defines bindings, sets up the window and document
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue