aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/root.rs
diff options
context:
space:
mode:
authorAnthony Ramine <nox@nox.paris>2020-03-06 18:55:35 +0100
committerAnthony Ramine <nox@nox.paris>2020-03-06 18:58:57 +0100
commitb5aa83f63314e3ff337c1888c818bf1b7c07a06e (patch)
tree118b4a3940cc1daf3aab059ad649d5b65f392f86 /components/script/dom/bindings/root.rs
parent05077d31c8083644d004c559a4cf8423dbd48d66 (diff)
downloadservo-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.rs5
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);
},