diff options
author | Anthony Ramine <nox@nox.paris> | 2020-03-06 18:55:35 +0100 |
---|---|---|
committer | Anthony Ramine <nox@nox.paris> | 2020-03-06 18:58:57 +0100 |
commit | b5aa83f63314e3ff337c1888c818bf1b7c07a06e (patch) | |
tree | 118b4a3940cc1daf3aab059ad649d5b65f392f86 /components/script/dom/bindings/root.rs | |
parent | 05077d31c8083644d004c559a4cf8423dbd48d66 (diff) | |
download | servo-b5aa83f63314e3ff337c1888c818bf1b7c07a06e.tar.gz servo-b5aa83f63314e3ff337c1888c818bf1b7c07a06e.zip |
Don't compare the vtable pointers anymore when unrooting stuff
Diffstat (limited to 'components/script/dom/bindings/root.rs')
-rw-r--r-- | components/script/dom/bindings/root.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/components/script/dom/bindings/root.rs b/components/script/dom/bindings/root.rs index 3111182a638..0ba69687dba 100644 --- a/components/script/dom/bindings/root.rs +++ b/components/script/dom/bindings/root.rs @@ -262,7 +262,10 @@ impl RootCollection { unsafe fn unroot(&self, object: *const dyn JSTraceable) { debug_assert!(thread_state::get().is_script()); let roots = &mut *self.roots.get(); - match roots.iter().rposition(|r| *r == object) { + match roots + .iter() + .rposition(|r| *r as *const () == object as *const ()) + { Some(idx) => { roots.remove(idx); }, |