clean up a-pong
[ardour.git] / gtk2_ardour / luainstance.cc
index 7c4898056fc530d5bda9b085a8be13649008bb24..c813eeea63dafca66b860c9d1d6da6f9e255fe8f 100644 (file)
@@ -1646,11 +1646,13 @@ LuaCallback::set_session (ARDOUR::Session *s)
 {
        SessionHandlePtr::set_session (s);
 
-       if (_session) {
-               lua_State* L = lua.getState();
-               LuaBindings::set_session (L, _session);
+       if (!_session) {
+               return;
        }
 
+       lua_State* L = lua.getState();
+       LuaBindings::set_session (L, _session);
+
        reconnect();
 }
 
@@ -1664,6 +1666,10 @@ LuaCallback::session_going_away ()
        _session = 0;
 
        drop_callback (); /* EMIT SIGNAL */
+
+       lua_State* L = lua.getState();
+       LuaBindings::set_session (L, 0);
+       lua.do_command ("collectgarbage();");
 }
 
 void