summaryrefslogtreecommitdiffstats
path: root/printing
diff options
context:
space:
mode:
authoranpol <anpol@yandex-team.ru>2015-12-18 00:39:03 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-18 08:39:58 +0000
commit280746cce16d03242f855c4c795a62b7349f38d4 (patch)
tree245db47d403e9be9e637b62c6a1521c3e8ccb181 /printing
parent384a9c843b9b8243a0a15573d66955b9cb9a45f0 (diff)
downloadchromium_src-280746cce16d03242f855c4c795a62b7349f38d4.zip
chromium_src-280746cce16d03242f855c4c795a62b7349f38d4.tar.gz
chromium_src-280746cce16d03242f855c4c795a62b7349f38d4.tar.bz2
Eliminate HICON leaks caused by creating icons from bitmap image.
Every icon handle created by CreateHICONFromSkBitmap() should become immediately owned by its creator. We use base::win::ScopedHICON to control the icon's lifetime. R=sky@chromium.org BUG= Review URL: https://codereview.chromium.org/1406403007 Cr-Commit-Position: refs/heads/master@{#366055}
Diffstat (limited to 'printing')
-rw-r--r--printing/emf_win.cc6
-rw-r--r--printing/image_win.cc4
2 files changed, 5 insertions, 5 deletions
diff --git a/printing/emf_win.cc b/printing/emf_win.cc
index 8ee1d84..4b00bca 100644
--- a/printing/emf_win.cc
+++ b/printing/emf_win.cc
@@ -104,12 +104,12 @@ class RasterBitmap {
gfx::Rect bitmap_rect(raster_size);
gfx::CreateBitmapHeader(raster_size.width(), raster_size.height(),
&header_.bmiHeader);
- bitmap_.Set(::CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS,
+ bitmap_.reset(CreateDIBSection(context_.Get(), &header_, DIB_RGB_COLORS,
&bits, NULL, 0));
- if (!bitmap_)
+ if (!bitmap_.is_valid())
NOTREACHED() << "Raster bitmap creation for printing failed";
- saved_object_ = ::SelectObject(context_.Get(), bitmap_);
+ saved_object_ = ::SelectObject(context_.Get(), bitmap_.get());
RECT rect = bitmap_rect.ToRECT();
::FillRect(context_.Get(), &rect,
static_cast<HBRUSH>(::GetStockObject(WHITE_BRUSH)));
diff --git a/printing/image_win.cc b/printing/image_win.cc
index 398fb22..1584efb 100644
--- a/printing/image_win.cc
+++ b/printing/image_win.cc
@@ -70,8 +70,8 @@ bool Image::LoadMetafile(const Metafile& metafile) {
base::win::ScopedBitmap bitmap(
::CreateDIBSection(hdc.Get(), reinterpret_cast<BITMAPINFO*>(&hdr), 0,
reinterpret_cast<void**>(&bits), NULL, 0));
- DCHECK(bitmap);
- base::win::ScopedSelectObject select_object(hdc.Get(), bitmap);
+ DCHECK(bitmap.is_valid());
+ base::win::ScopedSelectObject select_object(hdc.Get(), bitmap.get());
skia::InitializeDC(hdc.Get());