mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
webxr: Update XRInputSource Gamepad handling, FakeXRInputController (#33403)
* Disconnect XRInputSource gamepads on removal Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update Cargo.lock Signed-off-by: Daniel Adams <msub2official@gmail.com> * Comments, adjustments Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
This commit is contained in:
parent
d9be9d6bd4
commit
08a4d751d7
11 changed files with 84 additions and 29 deletions
|
@ -33,6 +33,7 @@ use crate::dom::bindings::codegen::Bindings::WindowBinding::Window_Binding::Wind
|
|||
use crate::dom::bindings::codegen::Bindings::XRHitTestSourceBinding::{
|
||||
XRHitTestOptionsInit, XRHitTestTrackableType,
|
||||
};
|
||||
use crate::dom::bindings::codegen::Bindings::XRInputSourceArrayBinding::XRInputSourceArray_Binding::XRInputSourceArrayMethods;
|
||||
use crate::dom::bindings::codegen::Bindings::XRReferenceSpaceBinding::XRReferenceSpaceType;
|
||||
use crate::dom::bindings::codegen::Bindings::XRRenderStateBinding::{
|
||||
XRRenderStateInit, XRRenderStateMethods,
|
||||
|
@ -867,6 +868,11 @@ impl XRSessionMethods for XRSession {
|
|||
self.ended.set(true);
|
||||
global.as_window().Navigator().Xr().end_session(self);
|
||||
self.session.borrow_mut().end_session();
|
||||
// Disconnect any still-attached XRInputSources
|
||||
for source in 0..self.input_sources.Length() {
|
||||
self.input_sources
|
||||
.remove_input_source(self, InputId(source));
|
||||
}
|
||||
p
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue