summaryrefslogtreecommitdiffstats
path: root/base/scoped_handle_win.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/scoped_handle_win.h')
-rw-r--r--base/scoped_handle_win.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/base/scoped_handle_win.h b/base/scoped_handle_win.h
index 1e60024..ea37ba2 100644
--- a/base/scoped_handle_win.h
+++ b/base/scoped_handle_win.h
@@ -186,11 +186,19 @@ class ScopedGDIObject {
DISALLOW_COPY_AND_ASSIGN(ScopedGDIObject);
};
+// An explicit specialization for HICON because we have to call DestroyIcon()
+// instead of DeleteObject() for HICON.
+template<>
+void ScopedGDIObject<HICON>::Close() {
+ if (object_)
+ DestroyIcon(object_);
+}
+
// Typedefs for some common use cases.
typedef ScopedGDIObject<HBITMAP> ScopedBitmap;
typedef ScopedGDIObject<HRGN> ScopedRegion;
typedef ScopedGDIObject<HFONT> ScopedHFONT;
-
+typedef ScopedGDIObject<HICON> ScopedHICON;
// Like ScopedHandle except for HGLOBAL.
template<class T>