properly retain LV2PluginInfo
This commit is contained in:
parent
6f6e78284d
commit
c4a7d25b34
@ -23,6 +23,7 @@
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <boost/enable_shared_from_this.hpp>
|
||||
|
||||
#include "ardour/plugin.h"
|
||||
#include "ardour/uri_map.h"
|
||||
@ -272,7 +273,7 @@ class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee
|
||||
};
|
||||
|
||||
|
||||
class LIBARDOUR_API LV2PluginInfo : public PluginInfo {
|
||||
class LIBARDOUR_API LV2PluginInfo : public PluginInfo , public boost::enable_shared_from_this<ARDOUR::LV2PluginInfo> {
|
||||
public:
|
||||
LV2PluginInfo (const char* plugin_uri);
|
||||
~LV2PluginInfo ();
|
||||
|
@ -2066,7 +2066,7 @@ LV2PluginInfo::load(Session& session)
|
||||
if (!lp) { throw failed_constructor(); }
|
||||
plugin.reset(new LV2Plugin(session.engine(), session, lp, session.frame_rate()));
|
||||
lilv_node_free(uri);
|
||||
plugin->set_info(PluginInfoPtr(new LV2PluginInfo(*this)));
|
||||
plugin->set_info(PluginInfoPtr(shared_from_this ()));
|
||||
return plugin;
|
||||
} catch (failed_constructor& err) {
|
||||
return PluginPtr((Plugin*)0);
|
||||
|
Loading…
Reference in New Issue
Block a user