modules/graphics/src/main/java/com/sun/prism/d3d/D3DContext.java
Print this page
@@ -153,20 +153,24 @@
if (hr == D3DERR_DEVICELOST) {
setLost();
}
if (hr == D3DERR_DEVICENOTRESET) {
+ boolean wasLost = isLost();
setLost();
// disposing the lcd buffer because the device is about to be lost
disposeLCDBuffer();
factory.notifyReset();
hr = D3DResourceFactory.nResetDevice(pContext);
if (hr == D3D_OK) {
isLost = false;
initState();
+ // Notify caller that the device was reset, see RT-35025
+ if (!wasLost)
+ return false;
}
}
return hr == D3D_OK;
}