Browse Source

Prevent taking screenshot when device is lost.

Lasse Öörni 9 years ago
parent
commit
9cd0cbb200

+ 6 - 0
Source/Urho3D/Graphics/Direct3D9/D3D9Graphics.cpp

@@ -603,6 +603,12 @@ bool Graphics::TakeScreenShot(Image& destImage)
     if (!impl_->device_)
         return false;
 
+    if (IsDeviceLost())
+    {
+        URHO3D_LOGERROR("Can not take screenshot while device is lost");
+        return false;
+    }
+
     D3DSURFACE_DESC surfaceDesc;
     impl_->defaultColorSurface_->GetDesc(&surfaceDesc);
 

+ 9 - 0
Source/Urho3D/Graphics/OpenGL/OGLGraphics.cpp

@@ -626,6 +626,15 @@ bool Graphics::TakeScreenShot(Image& destImage)
 {
     URHO3D_PROFILE(TakeScreenShot);
 
+    if (!IsInitialized())
+        return false;
+
+    if (IsDeviceLost())
+    {
+        URHO3D_LOGERROR("Can not take screenshot while device is lost");
+        return false;
+    }
+
     ResetRenderTargets();
 
     destImage.SetSize(width_, height_, 3);