Correctly handle invalid openvr adapters

This commit is contained in:
James Urquhart 2016-05-01 00:09:50 +01:00
parent b2faecc82d
commit b58f34da9b

View file

@ -296,15 +296,19 @@ GFXAdapter *GFXInit::getBestAdapterChoice()
const String adapterDevice = Con::getVariable("$Video::forceDisplayAdapter"); const String adapterDevice = Con::getVariable("$Video::forceDisplayAdapter");
GFXAdapterType adapterType = getAdapterTypeFromName(renderer.c_str());; GFXAdapterType adapterType = getAdapterTypeFromName(renderer.c_str());;
GFXAdapter *adapter; GFXAdapter *adapter = NULL;
if (adapterDevice.isEmpty()) if (adapterDevice.isEmpty())
{ {
adapter = chooseAdapter(adapterType, outputDevice.c_str()); adapter = chooseAdapter(adapterType, outputDevice.c_str());
} }
else if (dAtoi(adapterDevice.c_str()) != -1) else
{ {
adapter = chooseAdapter(adapterType, dAtoi(adapterDevice.c_str())); S32 adapterIdx = dAtoi(adapterDevice.c_str());
if (adapterIdx == -1)
adapter = chooseAdapter(adapterType, outputDevice.c_str());
else
adapter = chooseAdapter(adapterType, adapterIdx);
} }
// Did they have one? Return it. // Did they have one? Return it.