13
0

Close RouteGroup dialog when route is deleted

This fixes a crash when trying to interact with the
RouteGroup dialog after deleting the group
This commit is contained in:
Robin Gareus 2024-07-24 23:21:12 +02:00
parent 06962c7728
commit 0db79b8023
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 9 additions and 1 deletions

View File

@ -30,6 +30,7 @@
#include "gtkmm2ext/colors.h" #include "gtkmm2ext/colors.h"
#include "gui_thread.h"
#include "route_group_dialog.h" #include "route_group_dialog.h"
#include "group_tabs.h" #include "group_tabs.h"
@ -177,6 +178,8 @@ RouteGroupDialog::RouteGroupDialog (RouteGroup* g, bool creating_new)
add_button (Stock::CANCEL, RESPONSE_CANCEL); add_button (Stock::CANCEL, RESPONSE_CANCEL);
add_button (Stock::NEW, RESPONSE_OK); add_button (Stock::NEW, RESPONSE_OK);
set_default_response (RESPONSE_OK); set_default_response (RESPONSE_OK);
} else {
_group->Destroyed.connect (_group_connection, invalidator (*this), boost::bind (&Dialog::response, this, RESPONSE_CANCEL), gui_context());
} }
show_all_children (); show_all_children ();

View File

@ -29,6 +29,10 @@
#include "ardour_dialog.h" #include "ardour_dialog.h"
#include "stripable_colorpicker.h" #include "stripable_colorpicker.h"
namespace ARDOUR {
class RouteGroup;
}
class RouteGroupDialog : public ArdourDialog class RouteGroupDialog : public ArdourDialog
{ {
public: public:
@ -59,7 +63,8 @@ private:
void gain_toggled (); void gain_toggled ();
void update (); void update ();
bool unique_name (std::string const name) const; bool unique_name (std::string const name) const;
PBD::ScopedConnection _group_connection;
}; };
#endif #endif