Index: webrtc/modules/desktop_capture/window_capturer_win.cc |
diff --git a/webrtc/modules/desktop_capture/window_capturer_win.cc b/webrtc/modules/desktop_capture/window_capturer_win.cc |
index c0d71167a54d8ae99f602062764a59357dba9c84..54b2768aa803fe265d90a6b1f40884aafc795f88 100644 |
--- a/webrtc/modules/desktop_capture/window_capturer_win.cc |
+++ b/webrtc/modules/desktop_capture/window_capturer_win.cc |
@@ -156,15 +156,16 @@ void WindowCapturerWin::Capture(const DesktopRegion& region) { |
return; |
} |
- // Stop capturing if the window has been closed or hidden. |
- if (!IsWindow(window_) || !IsWindowVisible(window_)) { |
+ // Stop capturing if the window has been closed. |
+ if (!IsWindow(window_)) { |
callback_->OnCaptureCompleted(NULL); |
return; |
} |
- // Return a 1x1 black frame if the window is minimized, to match the behavior |
- // on Mac. |
- if (IsIconic(window_)) { |
+ // Return a 1x1 black frame if the window is minimized or invisible, to match |
+ // behavior on mace. Window can be temporarily invisible during the |
+ // transition of full screen mode on/off. |
+ if (IsIconic(window_) || !IsWindowVisible(window_)) { |
BasicDesktopFrame* frame = new BasicDesktopFrame(DesktopSize(1, 1)); |
memset(frame->data(), 0, frame->stride() * frame->size().height()); |