summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chromium/ui/views/win/hwnd_message_handler.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chromium/ui/views/win/hwnd_message_handler.cc b/chromium/ui/views/win/hwnd_message_handler.cc
index d5f442f71da..ff24e385430 100644
--- a/chromium/ui/views/win/hwnd_message_handler.cc
+++ b/chromium/ui/views/win/hwnd_message_handler.cc
@@ -1617,7 +1617,13 @@ void HWNDMessageHandler::OnDestroy() {
void HWNDMessageHandler::OnDisplayChange(UINT bits_per_pixel,
const gfx::Size& screen_size) {
+ base::WeakPtr<HWNDMessageHandler> ref(msg_handler_weak_factory_.GetWeakPtr());
delegate_->HandleDisplayChange();
+
+ // HandleDisplayChange() may result in |this| being deleted.
+ if (!ref)
+ return;
+
// Force a WM_NCCALCSIZE to occur to ensure that we handle auto hide
// taskbars correctly.
SendFrameChanged();