diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-05 13:12:19 -0700 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-04-05 20:18:35 -0700 |
commit | cdbc08b9119b062ee9db2967bf19f7be95444756 (patch) | |
tree | 84a478cb19c65e93811f52e8d40568dee6b807ab /components/script/dom/xrrigidtransform.rs | |
parent | 967efc7fbc0fdfe55eeb9c1f6ac9f3df933f72d9 (diff) | |
download | servo-cdbc08b9119b062ee9db2967bf19f7be95444756.tar.gz servo-cdbc08b9119b062ee9db2967bf19f7be95444756.zip |
Set transform.inverse.inverse == transform
https://github.com/immersive-web/webxr/issues/576
Diffstat (limited to 'components/script/dom/xrrigidtransform.rs')
-rw-r--r-- | components/script/dom/xrrigidtransform.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/components/script/dom/xrrigidtransform.rs b/components/script/dom/xrrigidtransform.rs index 030905d84fa..969ec839292 100644 --- a/components/script/dom/xrrigidtransform.rs +++ b/components/script/dom/xrrigidtransform.rs @@ -100,8 +100,11 @@ impl XRRigidTransformMethods for XRRigidTransform { } // https://immersive-web.github.io/webxr/#dom-xrrigidtransform-inverse fn Inverse(&self) -> DomRoot<XRRigidTransform> { - self.inverse - .or_init(|| XRRigidTransform::new(&self.global(), self.transform.inverse())) + self.inverse.or_init(|| { + let transform = XRRigidTransform::new(&self.global(), self.transform.inverse()); + transform.inverse.set(Some(self)); + transform + }) } // https://immersive-web.github.io/webxr/#dom-xrrigidtransform-matrix #[allow(unsafe_code)] |