Index: ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc b/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
index 903706cc2ef4d93784439c15be36350d1c8be00a..4c8376d987384c7ba83f51f484966c3cc354a71d 100644 |
--- a/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
+++ b/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
@@ -236,9 +236,15 @@ gfx::Rect DesktopRootWindowHostWin::GetWorkAreaBoundsInScreen() const { |
} |
void DesktopRootWindowHostWin::SetShape(gfx::NativeRegion native_region) { |
- SkPath path; |
- native_region->getBoundaryPath(&path); |
- message_handler_->SetRegion(gfx::CreateHRGNFromSkPath(path)); |
+ if (native_region) { |
+ SkPath path; |
+ native_region->getBoundaryPath(&path); |
+ message_handler_->SetRegion(gfx::CreateHRGNFromSkPath(path)); |
+ } else { |
+ message_handler_->SetRegion(NULL); |
+ } |
+ |
+ delete native_region; |
} |
void DesktopRootWindowHostWin::Activate() { |