From e42699600b92db69a428979dc0412c96f7494141 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 29 Nov 2018 14:25:22 +0100 Subject: Delete temporary Window Proxy for dialogs There are two cases: (A) Proxy is created first, dialog is created later on demand (B) Dialog is created and directly registers its window as proxy In (B) the dialog is usually on the stack and destroyed when the ArdourDialog instances leaves scope. In that case ~ArdourDialog() is called and the proxy remained. Destroying the proxy does destroy the registered window in ~WindowProxy() If ArdourDialog's d'tor itself deletes the proxy it would recurse into itself. Existing APIs e.g. drop_window() likewise delete the window and cannot be safely called from ~ArdourDialog. --- gtk2_ardour/window_manager.cc | 5 ----- 1 file changed, 5 deletions(-) (limited to 'gtk2_ardour/window_manager.cc') diff --git a/gtk2_ardour/window_manager.cc b/gtk2_ardour/window_manager.cc index 1d63751c5e..cdb83fba8b 100644 --- a/gtk2_ardour/window_manager.cc +++ b/gtk2_ardour/window_manager.cc @@ -255,11 +255,6 @@ ProxyTemporary::ProxyTemporary (const string& name, Gtk::Window* win) _window = win; } -ProxyTemporary::~ProxyTemporary () -{ -} - - ARDOUR::SessionHandlePtr* ProxyTemporary::session_handle() { -- cgit v1.2.3