From 6eece91fce7b46984ee62764c643631e8eea28b8 Mon Sep 17 00:00:00 2001 From: Jinhao Date: Fri, 2 Sep 2016 07:49:55 +0800 Subject: [PATCH] fix a crash that deleting a widget in its event handler --- source/gui/detail/window_manager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/gui/detail/window_manager.cpp b/source/gui/detail/window_manager.cpp index 2fedf0d7..6611306e 100644 --- a/source/gui/detail/window_manager.cpp +++ b/source/gui/detail/window_manager.cpp @@ -1535,6 +1535,11 @@ namespace detail wd->annex.caret_ptr = nullptr; } + using effect_renderer = detail::edge_nimbus_renderer; + + //remove the window from edge nimbus effect when it is destroying + effect_renderer::instance().erase(wd); + arg_destroy arg; arg.window_handle = reinterpret_cast(wd); brock.emit(event_code::destroy, wd, arg, true, brock.get_thread_context());