aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/desktop_capture/window_capturer_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webrtc/modules/desktop_capture/window_capturer_win.cc')
-rw-r--r--webrtc/modules/desktop_capture/window_capturer_win.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/webrtc/modules/desktop_capture/window_capturer_win.cc b/webrtc/modules/desktop_capture/window_capturer_win.cc
index c0d71167a5..54b2768aa8 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());