From ad3035fc9e30770392d5f4d955eae08d84562cde Mon Sep 17 00:00:00 2001 From: "sergeyu@chromium.org" Date: Fri, 7 Feb 2014 21:24:04 +0000 Subject: [PATCH] Fix WindowCapturerWin to unselect bitmap before destroying DC. BUG=https://code.google.com/p/webrtc/issues/detail?id=2901 R=wez@chromium.org Review URL: https://webrtc-codereview.appspot.com/8229004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5504 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/modules/desktop_capture/window_capturer_win.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webrtc/modules/desktop_capture/window_capturer_win.cc b/webrtc/modules/desktop_capture/window_capturer_win.cc index 95f41db73b..d65c625ea2 100644 --- a/webrtc/modules/desktop_capture/window_capturer_win.cc +++ b/webrtc/modules/desktop_capture/window_capturer_win.cc @@ -201,7 +201,7 @@ void WindowCapturerWin::Capture(const DesktopRegion& region) { } HDC mem_dc = CreateCompatibleDC(window_dc); - SelectObject(mem_dc, frame->bitmap()); + HGDIOBJ previous_object = SelectObject(mem_dc, frame->bitmap()); BOOL result = FALSE; // When desktop composition (Aero) is enabled each window is rendered to a @@ -231,7 +231,7 @@ void WindowCapturerWin::Capture(const DesktopRegion& region) { window_dc, 0, 0, SRCCOPY); } - SelectObject(mem_dc, NULL); + SelectObject(mem_dc, previous_object); DeleteDC(mem_dc); ReleaseDC(window_, window_dc);