Skip to content

Releases

XRNeckSafer Community Patch 2

Choose a tag to compare

Drop-in replacement for beta5a. Includes all fixes from patch 1 plus:

New in Patch 2

C++ API layer:

  • Error checks on reference space creation in xrCreateSession (null handle crash prevention)
  • xrLocateSpace failure check (prevents reading uninitialized data)
  • Fixed Euler angle comment labels (cosmetic — output was always correct)

C# GUI:

  • Fixed pitch limit triggering when looking down instead of up
  • Fixed Graph GDI handle leak (bitmaps/graphics not disposed on redraw)
  • Fixed Graph SolidBrush leak in legend drawing
  • Added [StructLayout] to SharedMemoryData for reliable C++/C# interop
  • Fixed NullReferenceException on fresh install (missing KeyboardToJoystickAssignments init)

Installation

Extract to your existing XRNeckSafer install directory and overwrite.

XRNeckSafer Community Patch 1

Choose a tag to compare

Drop-in replacement for beta5a. Includes both the C++ API layer DLL and the C# GUI with all fixes applied.

Fixes

C++ API layer (dllmain.cpp):

  • Fixed duplicate MapViewOfFile leak in shared memory init
  • Fixed null pointer crash in xrEndFrame if shared memory fails (would crash the host VR game)
  • Guarded getenv null for log file path

C# GUI:

  • Atomic config writes to prevent corruption on crash
  • Thread safety: locked joystick dictionary reads during device connect/disconnect

Installation

Extract the zip to %ProgramFiles%\XRNeckSafer\ (or wherever your existing install is) and overwrite the existing files. The API layer JSON manifest and registry entry from your existing beta5a install will still work.