fix SNAFU with processor box bindings

Bindings were not loaded until after ProcessorBoxen were created,
meaning they had no effect (the ProcessorBoxen set their ardour
bindings to null).

Also handle leave-means-deselect at ProcessorBox level rather than
MixerStrip level, to include MonitorSection PB
This commit is contained in:
Paul Davis 2023-04-26 17:19:50 -06:00
parent 261ba186cd
commit 82e03ac13e
3 changed files with 6 additions and 7 deletions

View File

@ -86,9 +86,6 @@ ARDOUR_UI::we_have_dependents ()
*/
mixer->monitor_section().use_others_actions ();
/* Create "static" actions that apply to all ProcessorBoxes
*/
ProcessorBox::register_actions ();
StepEntry::setup_actions_and_bindings ();
ClipEditorBox::init ();

View File

@ -454,10 +454,6 @@ MixerStrip::mixer_strip_enter_event (GdkEventCrossing* /*ev*/)
{
_entered_mixer_strip = this;
//although we are triggering on the "enter", to the user it will appear that it is happenin on the "leave"
//because the mixerstrip control is a parent that encompasses the strip
deselect_all_processors();
return false;
}

View File

@ -1941,6 +1941,10 @@ ProcessorBox::ProcessorBox (ARDOUR::Session* sess, boost::function<PluginSelecto
, processor_display (drop_targets())
, _redisplay_pending (false)
{
if (!processor_box_actions) {
register_actions ();
}
set_session (sess);
/* ProcessorBox actions and bindings created statically by call to
@ -2550,6 +2554,8 @@ ProcessorBox::leave_notify (GdkEventCrossing* ev)
gtk_window_set_focus (win->gobj(), 0);
}
processor_display.select_none ();
return false;
}