diff options
Diffstat (limited to 'src/module')
-rw-r--r-- | src/module/World.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/module/World.cpp b/src/module/World.cpp index 727e2dc8..bfdcb7e8 100644 --- a/src/module/World.cpp +++ b/src/module/World.cpp @@ -77,6 +77,9 @@ load_module(const string& name) Shared::module_path(name), Glib::MODULE_BIND_LAZY); + // FIXME: SEGV on exit without this + module->make_resident(); + if (*module) { LOG(info) << "Loaded `" << name << "' from " << INGEN_MODULE_DIR << endl; return SharedPtr<Glib::Module>(module); @@ -129,6 +132,8 @@ struct WorldImpl : public boost::noncopyable { virtual ~WorldImpl() { + local_engine.reset(); + modules.clear(); interface_factories.clear(); script_runners.clear(); |