Rework after code reading

* Fix possible segfault in `SubPluginFeatures::displayName`
* Minor fixes
This commit is contained in:
Johannes Lorenz
2019-03-15 18:42:34 +01:00
parent d5dcebed83
commit 2d71d6163b
3 changed files with 16 additions and 17 deletions

View File

@@ -202,19 +202,19 @@ public:
virtual QString additionalFileExtensions(const Key&) const
{
return nullptr;
return QString();
}
virtual QString displayName(const Key& k) const
{
return k.isValid()
? k.desc->displayName
: k.name.toUtf8().data();
: k.name;
}
virtual QString description(const Key& k) const
{
return k.isValid() ? k.desc->description : "";
return k.isValid() ? k.desc->description : QString();
}
virtual const PixmapLoader* logo(const Key& k) const

View File

@@ -127,8 +127,8 @@ QString Plugin::Descriptor::SubPluginFeatures::Key::additionalFileExtensions() c
return desc->subPluginFeatures
// get from sub plugin
? desc->subPluginFeatures->additionalFileExtensions(*this)
// get from plugin
: nullptr;
// no sub plugin, so no *additional* file extensions
: QString();
}

View File

@@ -180,10 +180,6 @@ void PluginFactory::discoverPlugins()
continue;
}
}
else
{
//qDebug() << "Ignoring" << file.absoluteFilePath() << "(no lmms_plugin_main())";
}
if(pluginDescriptor)
{
@@ -199,15 +195,18 @@ void PluginFactory::discoverPlugins()
const Plugin::Descriptor::SubPluginFeatures::Key* key = nullptr)
{
if(!supportedFileTypes.isNull())
for (const QString& ext : supportedFileTypes.split(','))
{
//qDebug() << "Plugin " << info.name() << "supports" << ext;
PluginInfoAndKey infoAndKey;
infoAndKey.info = info;
infoAndKey.key = key
? *key
: Plugin::Descriptor::SubPluginFeatures::Key();
m_pluginByExt.insert(ext, infoAndKey);
for (const QString& ext : supportedFileTypes.split(','))
{
//qDebug() << "Plugin " << info.name()
// << "supports" << ext;
PluginInfoAndKey infoAndKey;
infoAndKey.info = info;
infoAndKey.key = key
? *key
: Plugin::Descriptor::SubPluginFeatures::Key();
m_pluginByExt.insert(ext, infoAndKey);
}
}
};