diff --git a/src/msw/joystick.cpp b/src/msw/joystick.cpp index c21b41a426..b85db51640 100644 --- a/src/msw/joystick.cpp +++ b/src/msw/joystick.cpp @@ -332,13 +332,22 @@ wxString wxJoystick::GetProductName() const wxRegKey key1(wxString::Format(wxT("HKEY_LOCAL_MACHINE\\%s\\%s\\%s"), REGSTR_PATH_JOYCONFIG, joyCaps.szRegKey, REGSTR_KEY_JOYCURR)); - key1.QueryValue(wxString::Format(wxT("Joystick%d%s"), - m_joystick + 1, REGSTR_VAL_JOYOEMNAME), - str); + if ( key1.Exists() ) + { + key1.QueryValue(wxString::Format(wxT("Joystick%d%s"), + m_joystick + 1, REGSTR_VAL_JOYOEMNAME), + str); + } - wxRegKey key2(wxString::Format(wxT("HKEY_LOCAL_MACHINE\\%s\\%s"), - REGSTR_PATH_JOYOEM, str.c_str())); - key2.QueryValue(REGSTR_VAL_JOYOEMNAME, str); + if ( !str.empty() ) + { + wxRegKey key2(wxString::Format(wxT("HKEY_LOCAL_MACHINE\\%s\\%s"), + REGSTR_PATH_JOYOEM, str.c_str())); + if ( key2.Exists() ) + { + key2.QueryValue(REGSTR_VAL_JOYOEMNAME, str); + } + } #endif return str; }