From cb548ede3d103dfdce24d0988e1a8c89adabfa51 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 2 Nov 2022 16:23:33 +0100 Subject: [PATCH] Safeguard plugin window deletion when closing the session ..otherwise it may happen that the idle-signal arrives after the window has already been destroyed. --- gtk2_ardour/processor_box.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index e72e5c6723..c3694e73d4 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -4720,6 +4720,7 @@ void ProcessorWindowProxy::processor_going_away () { gui_connections.drop_connections (); + _unmap_connection.disconnect (); delete _window; _window = 0; WM::Manager::instance().remove (this); @@ -4777,7 +4778,9 @@ ProcessorWindowProxy::get (bool create) if (_window && (is_custom != want_custom)) { /* drop existing window - wrong type */ set_state_mask (Gtkmm2ext::WindowProxy::StateMask (state_mask () & ~WindowProxy::Size)); + _unmap_connection.block (); drop_window (); + _unmap_connection.unblock (); } if (!_window) {