diff --git a/gtk2_ardour/ardour_ui_dependents.cc b/gtk2_ardour/ardour_ui_dependents.cc index e8c94d1256..b9f77c3b42 100644 --- a/gtk2_ardour/ardour_ui_dependents.cc +++ b/gtk2_ardour/ardour_ui_dependents.cc @@ -442,7 +442,7 @@ ARDOUR_UI::bind_lua_action_script (GdkEventButton*ev, int i) if (Gtkmm2ext::Keyboard::modifier_state_equals (ev->state, Gtkmm2ext::Keyboard::TertiaryModifier)) { li->remove_lua_action (i); } else { - li->interactive_add (LuaScriptInfo::EditorAction, i); + li->interactive_add (*editor->current_toplevel (), LuaScriptInfo::EditorAction, i); } return true; } diff --git a/gtk2_ardour/lua_script_manager.cc b/gtk2_ardour/lua_script_manager.cc index f28583e575..be64fdb732 100644 --- a/gtk2_ardour/lua_script_manager.cc +++ b/gtk2_ardour/lua_script_manager.cc @@ -256,7 +256,7 @@ LuaScriptManager::set_action_btn_clicked () TreeModel::Row row = *(_a_view.get_selection()->get_selected()); assert (row); LuaInstance *li = LuaInstance::instance(); - li->interactive_add (LuaScriptInfo::EditorAction, row[_a_model.id]); + li->interactive_add (*this, LuaScriptInfo::EditorAction, row[_a_model.id]); } void @@ -347,7 +347,7 @@ void LuaScriptManager::add_callback_btn_clicked () { LuaInstance *li = LuaInstance::instance(); - li->interactive_add (LuaScriptInfo::EditorHook, -1); + li->interactive_add (*this, LuaScriptInfo::EditorHook, -1); } void @@ -431,7 +431,7 @@ LuaScriptManager::add_sess_btn_clicked () return; } LuaInstance *li = LuaInstance::instance(); - li->interactive_add (LuaScriptInfo::Session, -1); + li->interactive_add (*this, LuaScriptInfo::Session, -1); } void diff --git a/gtk2_ardour/luainstance.cc b/gtk2_ardour/luainstance.cc index 5f414eb93d..d54e551ed9 100644 --- a/gtk2_ardour/luainstance.cc +++ b/gtk2_ardour/luainstance.cc @@ -1532,7 +1532,7 @@ LuaInstance::pre_seed_scripts () } bool -LuaInstance::interactive_add (LuaScriptInfo::ScriptType type, int id) +LuaInstance::interactive_add (Gtk::Window& parent, LuaScriptInfo::ScriptType type, int id) { std::string title; std::string param_function = "action_params"; @@ -1560,7 +1560,7 @@ LuaInstance::interactive_add (LuaScriptInfo::ScriptType type, int id) } LuaScriptInfoPtr spi; - ScriptSelector ss (title, type); + ScriptSelector ss (parent, title, type); switch (ss.run ()) { case Gtk::RESPONSE_ACCEPT: spi = ss.script(); diff --git a/gtk2_ardour/luainstance.h b/gtk2_ardour/luainstance.h index d77b0e2563..43e5bb86b3 100644 --- a/gtk2_ardour/luainstance.h +++ b/gtk2_ardour/luainstance.h @@ -124,7 +124,7 @@ public: int load_state (); int save_state (); - bool interactive_add (ARDOUR::LuaScriptInfo::ScriptType, int); + bool interactive_add (Gtk::Window&, ARDOUR::LuaScriptInfo::ScriptType, int); /* actions */ void call_action (const int); diff --git a/gtk2_ardour/script_selector.cc b/gtk2_ardour/script_selector.cc index 18d06e9081..c915010aa2 100644 --- a/gtk2_ardour/script_selector.cc +++ b/gtk2_ardour/script_selector.cc @@ -29,8 +29,8 @@ using namespace std; using namespace Gtk; using namespace ARDOUR; -ScriptSelector::ScriptSelector (std::string title, LuaScriptInfo::ScriptType type) - : ArdourDialog (title) +ScriptSelector::ScriptSelector (Gtk::Window& parent, std::string title, LuaScriptInfo::ScriptType type) + : ArdourDialog (parent, title, true) , _type_label ("Type:", Gtk::ALIGN_END, Gtk::ALIGN_CENTER) , _type ("", Gtk::ALIGN_START, Gtk::ALIGN_CENTER) , _author_label ("Author:", Gtk::ALIGN_END, Gtk::ALIGN_CENTER) diff --git a/gtk2_ardour/script_selector.h b/gtk2_ardour/script_selector.h index 83b1867d7b..f491b7a2d8 100644 --- a/gtk2_ardour/script_selector.h +++ b/gtk2_ardour/script_selector.h @@ -27,7 +27,7 @@ class ScriptSelector : public ArdourDialog { public: - ScriptSelector (std::string title, ARDOUR::LuaScriptInfo::ScriptType t); + ScriptSelector (Gtk::Window& parent, std::string title, ARDOUR::LuaScriptInfo::ScriptType t); ARDOUR::LuaScriptInfoPtr script() const { return _script; } private: