From d866eb69c5f19b3a229e8bf36a457db8c9d42067 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 7 Jan 2026 09:08:28 -0700 Subject: [PATCH] pianoroll: fix crash after switching regions and moving mouse into velocity display --- gtk2_ardour/velocity_display.cc | 3 ++- gtk2_ardour/velocity_display.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/velocity_display.cc b/gtk2_ardour/velocity_display.cc index 6af1bf1d27..cf3ab8c20d 100644 --- a/gtk2_ardour/velocity_display.cc +++ b/gtk2_ardour/velocity_display.cc @@ -70,7 +70,7 @@ VelocityDisplay::VelocityDisplay (EditingContext& ec, MidiViewBackground& backgr , _sensitive (false) { base.set_data (X_("ghostregionview"), this); - base.Event.connect (sigc::mem_fun (*this, &VelocityDisplay::base_event)); + base_connection = base.Event.connect (sigc::mem_fun (*this, &VelocityDisplay::base_event)); base.set_fill_color (UIConfiguration::instance().color_mod ("ghost track base", "ghost track midi fill")); base.set_outline_color (UIConfiguration::instance().color ("automation track outline")); base.set_outline (true); @@ -79,6 +79,7 @@ VelocityDisplay::VelocityDisplay (EditingContext& ec, MidiViewBackground& backgr VelocityDisplay::~VelocityDisplay () { + base_connection.disconnect (); } bool diff --git a/gtk2_ardour/velocity_display.h b/gtk2_ardour/velocity_display.h index 9744b1333f..0093a98cd1 100644 --- a/gtk2_ardour/velocity_display.h +++ b/gtk2_ardour/velocity_display.h @@ -97,6 +97,7 @@ class VelocityDisplay bool selected; GhostEvent::EventList::iterator _optimization_iterator; bool _sensitive; + sigc::connection base_connection; virtual bool base_event (GdkEvent*) = 0; void set_size_and_position (GhostEvent&);