diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2018-12-10 18:40:31 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2018-12-10 18:40:31 -0500 |
commit | 1de181479fe2d695457d2a0e247fca105cc09209 (patch) | |
tree | 37013a3d6f13d35e9627d95a117a886c261aecc3 /libs/gtkmm2ext | |
parent | 4b0f0f913b5e2465c35810d1b5424af3852eca55 (diff) |
add basic concept of an "owner" for an action group, to allow later grouping
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r-- | libs/gtkmm2ext/actions.cc | 5 | ||||
-rw-r--r-- | libs/gtkmm2ext/bindings.cc | 1 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/actions.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/libs/gtkmm2ext/actions.cc b/libs/gtkmm2ext/actions.cc index edf092d909..00d85d35c6 100644 --- a/libs/gtkmm2ext/actions.cc +++ b/libs/gtkmm2ext/actions.cc @@ -37,6 +37,7 @@ #include <glibmm/miscutils.h> #include "pbd/error.h" +#include "pbd/stacktrace.h" #include "gtkmm2ext/actions.h" #include "gtkmm2ext/utils.h" @@ -302,6 +303,7 @@ ActionManager::get_action (char const * group_name, char const * action_name, bo } cerr << "Failed to find action (2): [" << fullpath << ']' << endl; + PBD::stacktrace (std::cerr, 20); return RefPtr<Action>(); } @@ -331,7 +333,7 @@ ActionManager::get_radio_action (char const * group_name, char const * action_na RefPtr<ActionGroup> -ActionManager::create_action_group (string const & name) +ActionManager::create_action_group (void * owner, string const & name) { for (ActionGroups::iterator g = groups.begin(); g != groups.end(); ++g) { if ((*g)->get_name () == name) { @@ -341,6 +343,7 @@ ActionManager::create_action_group (string const & name) RefPtr<ActionGroup> g = ActionGroup::create (name); + g->set_data (X_("owner"), owner); groups.push_back (g); /* this is one of the places where our own Action management code diff --git a/libs/gtkmm2ext/bindings.cc b/libs/gtkmm2ext/bindings.cc index 49f890029f..ce32cd725d 100644 --- a/libs/gtkmm2ext/bindings.cc +++ b/libs/gtkmm2ext/bindings.cc @@ -1045,7 +1045,6 @@ Bindings::get_bindings (string const& name) { for (list<Bindings*>::iterator b = bindings.begin(); b != bindings.end(); b++) { if ((*b)->name() == name) { - (*b)->reassociate (); // XXX important side-effects, wierd to call it here return *b; } } diff --git a/libs/gtkmm2ext/gtkmm2ext/actions.h b/libs/gtkmm2ext/gtkmm2ext/actions.h index 6311a98631..620d6c82d0 100644 --- a/libs/gtkmm2ext/gtkmm2ext/actions.h +++ b/libs/gtkmm2ext/gtkmm2ext/actions.h @@ -70,7 +70,7 @@ namespace ActionManager { LIBGTKMM2EXT_API extern void enable_active_actions (); LIBGTKMM2EXT_API extern void disable_active_actions (); - LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> create_action_group (std::string const & group_name); + LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::ActionGroup> create_action_group (void * owner, std::string const & group_name); LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, const char* name, const char* label); LIBGTKMM2EXT_API extern Glib::RefPtr<Gtk::Action> register_action (Glib::RefPtr<Gtk::ActionGroup> group, |