You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using auxiliary keys or knobs on a keyboard, the application crashes. At first, I thought it was something in my library Velaptor, but after some investigation, I discovered that an InvalidOperationException is being thrown from the Reset() method in the ViewImplementationBase abstract class in the Silk.NET.Windowing.Internals namespace.
I know this is because I looked into the internal exception being thrown in Velaptor, and the exception message is You cannot call 'Reset' inside of the render loop!. I found this by searching in the Silk source code for tag v2.22.0.
When I say 'auxiliary', I mean custom keyboard keys and knobs that are used for volume, mute, skipping songs, etc.
I have a mechanical keyboard and my laptop keyboard, which have some aux keys and/or knobs that cause the exception to be thrown.
Since Velaptor is open source, you can run the VelaptorTesting project. Once the window is displayed, adjust the audio knob on a keyboard that has one, and it should crash. I attempted to see if the problem would occur in the Imgui sample project, but I had issues with errors being thrown by nuke. I am confident you can reproduce the issue with the Silk example projects.
I subscribe to a keyboard key-down event of an IInputContext instance. I set a breakpoint in my event handler, but it is not invoked. It simply immediately throws an exception.
Steps to reproduce
Platform: Desktop
Framework Version: dotnet 9.0
API: OpenGL
API Version: OpenGL 4.5 Core
Open the solution for the latest version tag of Velaptor or a Silk sample project.
Run the VelaptorTesting project or a Silk sample project
Adjust the volume knob or hit an aux key on a keyboard that has a this functionality.
Observe that an exception is thrown.
Comments
The screenshots below are the knobs and keys that are causing the exception:
[Asus ROG Zephyrus G16 Laptop](I know this is because I looked into the internal exception being thrown in Velaptor, and the exception message is You cannot call 'Reset' inside of the render loop!. I found this by searching in the Silk source code for tag v2.22.0.)
Note
This is not just a volume knob. It can be used for other functions on the keyboard, such as the lighting.
Hitting the volume up and down on my laptop keyboard causes the same issue.
If you need more information or testing, let me know, and I would be glad to help. Thanks!!
If you know how to fix this issue, please submit a pull request instead!
The text was updated successfully, but these errors were encountered:
Summary
When using auxiliary keys or knobs on a keyboard, the application crashes. At first, I thought it was something in my library Velaptor, but after some investigation, I discovered that an
InvalidOperationException
is being thrown from theReset()
method in theViewImplementationBase
abstract class in theSilk.NET.Windowing.Internals
namespace.I know this is because I looked into the internal exception being thrown in Velaptor, and the exception message is
You cannot call 'Reset' inside of the render loop!
. I found this by searching in the Silk source code for tagv2.22.0
.When I say 'auxiliary', I mean custom keyboard keys and knobs that are used for volume, mute, skipping songs, etc.
I have a mechanical keyboard and my laptop keyboard, which have some aux keys and/or knobs that cause the exception to be thrown.
Since Velaptor is open source, you can run the VelaptorTesting project. Once the window is displayed, adjust the audio knob on a keyboard that has one, and it should crash. I attempted to see if the problem would occur in the Imgui sample project, but I had issues with errors being thrown by nuke. I am confident you can reproduce the issue with the Silk example projects.
I subscribe to a keyboard key-down event of an
IInputContext
instance. I set a breakpoint in my event handler, but it is not invoked. It simply immediately throws an exception.Steps to reproduce
Comments
The screenshots below are the knobs and keys that are causing the exception:
More Info:
You cannot call 'Reset' inside of the render loop!
. I found this by searching in the Silk source code for tagv2.22.0
.)Note
This is not just a volume knob. It can be used for other functions on the keyboard, such as the lighting.
Hitting the volume up and down on my laptop keyboard causes the same issue.
If you need more information or testing, let me know, and I would be glad to help. Thanks!!
If you know how to fix this issue, please submit a pull request instead!
The text was updated successfully, but these errors were encountered: