RouteDialog: Move built-in types into template list experiment
[ardour.git] / gtk2_ardour / luawindow.cc
index 8a9c2aee3b4fa2f0eff821215567eea9178d1384..89a1d387aa490cfdb1ea058c80a803842d8d1cfc 100644 (file)
 #include "pbd/md5.h"
 
 #include "gtkmm2ext/gtk_ui.h"
-#include "gtkmm2ext/pane.h"
 #include "gtkmm2ext/utils.h"
 #include "gtkmm2ext/window_title.h"
 
+#include "widgets/pane.h"
 #include "widgets/tooltips.h"
 
 #include "ardour/filesystem_paths.h"
@@ -156,7 +156,7 @@ LuaWindow::LuaWindow ()
        vbox->pack_start (*scrollin, true, true, 0);
        vbox->pack_start (*hbox, false, false, 2);
 
-       Gtkmm2ext::VPane *vpane = manage (new Gtkmm2ext::VPane ());
+       ArdourWidgets::VPane *vpane = manage (new ArdourWidgets::VPane ());
        vpane->add (*vbox);
        vpane->add (scrollout);
        vpane->set_divider (0, 0.75);
@@ -199,6 +199,7 @@ void LuaWindow::reinit_lua ()
        delete lua;
        lua = new LuaState();
        lua->Print.connect (sigc::mem_fun (*this, &LuaWindow::append_text));
+       lua->sandbox (false);
 
        lua_State* L = lua->getState();
        LuaInstance::register_classes (L);
@@ -285,6 +286,12 @@ LuaWindow::run_script ()
                        }
                } catch (luabridge::LuaException const& e) {
                        append_text (string_compose (_("LuaException: %1"), e.what()));
+               } catch (Glib::Exception const& e) {
+                       append_text (string_compose (_("Glib Exception: %1"), e.what()));
+               } catch (std::exception const& e) {
+                       append_text (string_compose (_("C++ Exception: %1"), e.what()));
+               } catch (...) {
+                       append_text (string_compose (_("C++ Exception: %1"), "..."));
                }
        } else {
                // script with factory method
@@ -303,6 +310,12 @@ LuaWindow::run_script ()
                        lua->do_command ("factory = nil;");
                } catch (luabridge::LuaException const& e) {
                        append_text (string_compose (_("LuaException: %1"), e.what()));
+               } catch (Glib::Exception const& e) {
+                       append_text (string_compose (_("Glib Exception: %1"), e.what()));
+               } catch (std::exception const& e) {
+                       append_text (string_compose (_("C++ Exception: %1"), e.what()));
+               } catch (...) {
+                       append_text (string_compose (_("C++ Exception: %1"), "..."));
                }
        }
 }