From be9e157a3d4fa456ddd7036e42c847a3f87cab7f Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Wed, 9 Sep 2015 13:50:38 +0200 Subject: [PATCH] wm: free up weak pointers during view destruction Fixes #1675 --- repos/gems/src/server/wm/nitpicker.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/repos/gems/src/server/wm/nitpicker.h b/repos/gems/src/server/wm/nitpicker.h index 3711c529c0..3d80789442 100644 --- a/repos/gems/src/server/wm/nitpicker.h +++ b/repos/gems/src/server/wm/nitpicker.h @@ -263,6 +263,8 @@ class Wm::Nitpicker::Top_level_view : public View, { if (_win_id.valid()) _window_registry.destroy(_win_id); + + View::lock_for_destruction(); } void _propagate_view_geometry() override { } @@ -349,6 +351,11 @@ class Wm::Nitpicker::Child_view : public View, try_to_init_real_view(); } + ~Child_view() + { + View::lock_for_destruction(); + } + void _propagate_view_geometry() override { _real_nitpicker.enqueue(_real_handle, _geometry);