diff --git a/libs/gtkmm2ext/gtkmm2ext/bindings.h b/libs/gtkmm2ext/gtkmm2ext/bindings.h index f92a3a518f..81f372ae31 100644 --- a/libs/gtkmm2ext/gtkmm2ext/bindings.h +++ b/libs/gtkmm2ext/gtkmm2ext/bindings.h @@ -213,6 +213,7 @@ class LIBGTKMM2EXT_API Bindings { std::vector >& actions); /* all bindings currently in existence, as grouped into Bindings */ + static void reset_bindings () { bindings.clear (); } static std::list bindings; static Bindings* get_bindings (std::string const& name, ActionMap&); static void associate_all (); diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc index 69f682642c..5280c526f3 100644 --- a/libs/gtkmm2ext/keyboard.cc +++ b/libs/gtkmm2ext/keyboard.cc @@ -722,6 +722,7 @@ Keyboard::reset_bindings () { PBD::Unwinder uw (can_save_keybindings, false); + Bindings::reset_bindings (); setup_keybindings (); Bindings::associate_all (); }