renderDX9: handle more present errors

This commit is contained in:
tildearrow 2024-11-24 17:03:01 -05:00
parent a54ba47075
commit d8d12fa215

View file

@ -276,10 +276,26 @@ void FurnaceGUIRenderDX9::present() {
inScene=false;
}
if (device->Present(NULL,NULL,NULL,NULL)==D3DERR_DEVICEREMOVED) {
HRESULT result=device->Present(NULL,NULL,NULL,NULL);
if (result==D3DERR_DEVICEREMOVED) {
logI("device is gone");
dead=true;
return;
} else if (result==D3DERR_DEVICEHUNG) {
logI("device has been executed");
dead=true;
return;
} else if (result==D3DERR_DEVICELOST) {
logI("device lost");
dead=true;
return;
} else if (result==D3DERR_DEVICENOTRESET) {
logI("device not reset");
dead=true;
return;
} else if (result!=D3D_OK) {
logE("DX9: Present ERROR! %x",result);
}
if (mustResize) {