Our dll creates a hwnd which receives events from the spacemouse driver, however, after unloading and reloading our dll, it stops working.
We have fixed the problem by removing the call to
Code: Select all
SiTerminate()
This function must be called to shut down the 3DxWare Input Library correctly. Once the 3DxWare Input Library is shut down, use SiInitialize before calling any input functions.
Code: Select all
DriverData() : m_isReady(SiInitialize() != SPW_DLL_LOAD_ERROR), m_device(nullptr)
{
LOG(debug) << "[SM] SiInitialize() -> " << m_isReady;
}
~DriverData()
{
LOG(debug) << "[SM] ~DriverData()";
//SiTerminate(); // this line causes the undesired behaviour.
}