summaryrefslogtreecommitdiffstats
path: root/views/widget/native_widget_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/widget/native_widget_view.cc')
-rw-r--r--views/widget/native_widget_view.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/views/widget/native_widget_view.cc b/views/widget/native_widget_view.cc
index 3be3d33..911170d 100644
--- a/views/widget/native_widget_view.cc
+++ b/views/widget/native_widget_view.cc
@@ -22,6 +22,11 @@ NativeWidgetView::NativeWidgetView(NativeWidgetViews* native_widget)
}
NativeWidgetView::~NativeWidgetView() {
+ // Don't let NativeWidgetViews delete this again. This must be outside
+ // the |delete_native_widget_| clause so it gets invoked for
+ // WIDGET_OWNS_NATIVE_WIDGET. It is safe because |native_widget_| will
+ // still exist in both ways NativeWidgetView can be destroyed: by view
+ // hierarchy teardown and from the NativeWidgetViews destructor.
native_widget_->set_delete_native_view(false);
if (delete_native_widget_)
delete native_widget_;