Quote Originally Posted by TheRac25 View Post
it has nothing to do with the dx version, its lazy developers (or cheap skate corporations, yeah thats you SE) that dont make a new dx object when it gets lost
Straight from Microsoft:

By design, the full set of scenarios that can cause a device to become lost is not specified. Some typical examples include loss of focus, such as when the user presses ALT+TAB or when a system dialog is initialized. Devices can also be lost due to a power management event, or when another application assumes full-screen operation. In addition, any failure from IDirect3DDevice9::Reset puts the device into a lost state.

All methods that derive from IUnknown are guaranteed to work after a device is lost. After device loss, each function generally has the following three options:
  • Fail with D3DERR_DEVICELOST - This means that the application needs to recognize that the device was lost, so that the application identifies that something isn't happening as expected.
  • Silently fail, returning S_OK or any other return codes - If a function silently fails, the application generally can't distinguish between the result of "success" and a "silent failure."
  • The function returns a return code.

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx