| Index: remoting/host/desktop_shape_tracker_win.cc
|
| diff --git a/remoting/host/desktop_shape_tracker_win.cc b/remoting/host/desktop_shape_tracker_win.cc
|
| index f3a41e93469638361a6a186efaf028d70cfce9c0..60a2d2c71bcd70b0f9a5b58cc389af0dfe8c461b 100644
|
| --- a/remoting/host/desktop_shape_tracker_win.cc
|
| +++ b/remoting/host/desktop_shape_tracker_win.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <vector>
|
|
|
| +#include "base/logging.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/win/scoped_gdi_object.h"
|
| #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
|
| @@ -63,17 +64,18 @@ void DesktopShapeTrackerWin::RefreshDesktopShape() {
|
| }
|
|
|
| // If the shape has changed, refresh |desktop_shape_|.
|
| - if (!EqualRgn(shape_data->desktop_region, old_desktop_region_)) {
|
| - old_desktop_region_.Set(shape_data->desktop_region.release());
|
| + if (!EqualRgn(shape_data->desktop_region.get(), old_desktop_region_.get())) {
|
| + old_desktop_region_ = shape_data->desktop_region.Pass();
|
|
|
| // Determine the size of output buffer required to receive the region.
|
| - DWORD bytes_size = GetRegionData(old_desktop_region_, 0, nullptr);
|
| + DWORD bytes_size = GetRegionData(old_desktop_region_.get(), 0, nullptr);
|
| CHECK(bytes_size != 0);
|
|
|
| // Fetch the Windows RECTs that comprise the region.
|
| std::vector<char> buffer(bytes_size);
|
| LPRGNDATA region_data = reinterpret_cast<LPRGNDATA>(buffer.data());
|
| - DWORD result = GetRegionData(old_desktop_region_, bytes_size, region_data);
|
| + DWORD result =
|
| + GetRegionData(old_desktop_region_.get(), bytes_size, region_data);
|
| CHECK(result == bytes_size);
|
| const LPRECT rects = reinterpret_cast<LPRECT>(®ion_data->Buffer[0]);
|
|
|
| @@ -93,8 +95,8 @@ const webrtc::DesktopRegion& DesktopShapeTrackerWin::desktop_shape() {
|
| // static
|
| BOOL DesktopShapeTrackerWin::EnumWindowsCallback(HWND window, LPARAM lparam) {
|
| EnumDesktopShapeData* data = reinterpret_cast<EnumDesktopShapeData*>(lparam);
|
| - HRGN desktop_region = data->desktop_region.Get();
|
| - HRGN window_region = data->window_region.Get();
|
| + HRGN desktop_region = data->desktop_region.get();
|
| + HRGN window_region = data->window_region.get();
|
|
|
| // Is the window visible?
|
| if (!IsWindow(window) || !IsWindowVisible(window) || IsIconic(window))
|
|
|