Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Unified Diff: remoting/host/desktop_shape_tracker_win.cc

Issue 1406403007: Eliminate HICON leaks caused by creating icons from bitmap image. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « printing/image_win.cc ('k') | remoting/host/disconnect_window_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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>(&region_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))
« no previous file with comments | « printing/image_win.cc ('k') | remoting/host/disconnect_window_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698