ppy/osu-framework

Using o!f in a VR overlay with touchscreen emulation results in a crash

VolcanicArts opened this issue · 2 comments

Attempting to use osu!framework in a VR overlay (SteamVR or OVRToolkit) results in the below error being thrown. It most commonly happens with touchscreen emulation enabled.

This seems to be a regression(?) as it wasn't happening before I updated to 2023.801.0, but I cannot say for certain if I just got lucky beforehand with it not crashing.

2023-08-16 20:36:25 [error]: An unhandled error has occurred.
2023-08-16 20:36:25 [error]: System.ArgumentNullException: Value cannot be null. (Parameter 'source')
2023-08-16 20:36:25 [error]: at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
2023-08-16 20:36:25 [error]: at System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.ButtonEventManager`1.handleButtonUp(InputState state)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.ButtonEventManager`1.HandleButtonStateChange(InputState state, ButtonStateChangeKind kind)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.InputManager.HandleMouseButtonStateChange(ButtonStateChangeEvent`1 e)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.UserInputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.StateChanges.ButtonInput`1.Apply(InputState state, IInputStateChangeHandler handler)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.StateChanges.MouseButtonInput.Apply(InputState state, IInputStateChangeHandler handler)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.InputManager.updateTouchMouseLeft(TouchStateChangeEvent e)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.InputManager.HandleMouseTouchStateChange(TouchStateChangeEvent e)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.InputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.UserInputManager.HandleInputStateChange(InputStateChangeEvent inputStateChange)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.StateChanges.TouchInput.Apply(InputState state, IInputStateChangeHandler handler)
2023-08-16 20:36:25 [error]: at osu.Framework.Input.InputManager.Update()
2023-08-16 20:36:25 [error]: at osu.Framework.Input.PassThroughInputManager.Update()
2023-08-16 20:36:25 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree()
2023-08-16 20:36:25 [error]: at osu.Framework.Graphics.Containers.CompositeDrawable.UpdateSubTree()
2023-08-16 20:36:25 [error]: at osu.Framework.Platform.GameHost.UpdateFrame()
2023-08-16 20:36:25 [error]: at osu.Framework.Threading.GameThread.processFrame()

I did notice that a fix (from what I understood) was applied for 2023.812.0 but I thought I'd report this anyway just in case my assumptions about #5964 were incorrect

Do you have reliable repro steps for this?
Are you able to reproduce on the latest release of osu!framework (2023.817.0)?

The stack trace looks to be very similar to ppy/osu#24463, which the PR you linked fixed. So if you're not able to reproduce, this issue should be closed.

If that PR fixed it then this can be closed, sure