Index: ui/base/clipboard/clipboard_win.cc |
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc |
index 434b9f96b10bd9b16866d76ae4d5a105ef61e930..cec06012fbf50e9540fe27d69155a15eba6122e2 100644 |
--- a/ui/base/clipboard/clipboard_win.cc |
+++ b/ui/base/clipboard/clipboard_win.cc |
@@ -352,7 +352,7 @@ void Clipboard::ReadAvailableTypes(Clipboard::Buffer buffer, |
types->push_back(UTF8ToUTF16(kMimeTypeText)); |
if (::IsClipboardFormatAvailable(htmlFormat->cfFormat)) |
types->push_back(UTF8ToUTF16(kMimeTypeHTML)); |
- if (::IsClipboardFormatAvailable(CF_BITMAP)) |
+ if (::IsClipboardFormatAvailable(CF_DIB)) |
types->push_back(UTF8ToUTF16(kMimeTypePNG)); |
*contains_filenames = false; |
} |
@@ -442,6 +442,8 @@ SkBitmap Clipboard::ReadImage(Buffer buffer) const { |
// HBITMAP returned from ::GetClipboardData(CF_BITMAP) always reports a color |
// depth of 32bpp. |
BITMAPINFO* bitmap = static_cast<BITMAPINFO*>(::GetClipboardData(CF_DIB)); |
+ if (!bitmap) |
+ return SkBitmap(); |
int color_table_length = 0; |
switch (bitmap->bmiHeader.biBitCount) { |
case 1: |