From 7a06524f793c063ae61525c669a906ac1dfa6139 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 5 Dec 2024 03:46:09 +0100 Subject: [PATCH] Fix crash when loading session from a running instance ViewBackground never unsubscribed from UIConfiguration callbacks when it was destroyed. Loading another session that can cause UIConfig change signals to be emitted caused a heap-use-after-free. --- gtk2_ardour/streamview.h | 2 +- gtk2_ardour/view_background.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h index 5e925e3adc..69269e2b0f 100644 --- a/gtk2_ardour/streamview.h +++ b/gtk2_ardour/streamview.h @@ -65,7 +65,7 @@ class RegionSelection; class CrossfadeView; class Selection; -class StreamView : public sigc::trackable, public PBD::ScopedConnectionList, public virtual ViewBackground, public SelectableOwner +class StreamView : public PBD::ScopedConnectionList, public virtual ViewBackground, public SelectableOwner { public: virtual ~StreamView (); diff --git a/gtk2_ardour/view_background.h b/gtk2_ardour/view_background.h index 1a11555419..4602fddd53 100644 --- a/gtk2_ardour/view_background.h +++ b/gtk2_ardour/view_background.h @@ -34,7 +34,7 @@ namespace ArdourCanvas { /** A class that provides limited context for a View */ -class ViewBackground +class ViewBackground : public sigc::trackable { public: ViewBackground ();