From 82cb9ae37bcf3112cc05a0c7dc2bd3d377c87563 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 11 Dec 2024 15:45:57 +0100 Subject: [PATCH] Do not allow to DnD plugins to the same route's other processor box e.g. detached mixer to editor-mixer processor box --- gtk2_ardour/processor_box.cc | 8 ++++++++ gtk2_ardour/processor_box.h | 1 + 2 files changed, 9 insertions(+) diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 514d7ede13..e1d65404d7 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -1984,6 +1984,7 @@ ProcessorBox::ProcessorBox (ARDOUR::Session* sess, std::function* source, ProcessorEntry*) +{ + ProcessorBox* other = reinterpret_cast (source->get_data ("processorbox")); + return (other && other->_route == _route); +} + void ProcessorBox::object_drop (DnDVBox* source, ProcessorEntry* position, Glib::RefPtr const & context) { diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index 1391a99e6c..bc250745fc 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -523,6 +523,7 @@ private: void plugin_drop (Gtk::SelectionData const &, ProcessorEntry* position, Glib::RefPtr const & context); void object_drop (Gtkmm2ext::DnDVBox *, ProcessorEntry *, Glib::RefPtr const &); + bool drag_refuse (Gtkmm2ext::DnDVBox *, ProcessorEntry *); Width _width; bool _redisplay_pending;