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;
     }