Clean up existing bindings on reset
authorRobin Gareus <robin@gareus.org>
Mon, 13 Mar 2017 19:09:10 +0000 (20:09 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 13 Mar 2017 19:09:10 +0000 (20:09 +0100)
libs/gtkmm2ext/gtkmm2ext/bindings.h
libs/gtkmm2ext/keyboard.cc

index f92a3a518f45772f2f0bc69c20873e0ccff55c8c..81f372ae31345fc0f370b241b0e262bbacc0a311 100644 (file)
@@ -213,6 +213,7 @@ class LIBGTKMM2EXT_API Bindings {
                              std::vector<Glib::RefPtr<Gtk::Action> >& actions);
 
        /* all bindings currently in existence, as grouped into Bindings */
+       static void reset_bindings () { bindings.clear (); }
        static std::list<Bindings*> bindings;
        static Bindings* get_bindings (std::string const& name, ActionMap&);
        static void associate_all ();
index 69f682642c834169b8d06bd5a7a6afa6f216a1a1..5280c526f3ffcd6087143bc83a6f57621b666f99 100644 (file)
@@ -722,6 +722,7 @@ Keyboard::reset_bindings ()
 
        {
                PBD::Unwinder<bool> uw (can_save_keybindings, false);
+               Bindings::reset_bindings ();
                setup_keybindings ();
                Bindings::associate_all ();
        }