Use QString for SubPluginFeatures' virtuals

The former virtuals returned `const char*`, which lead to invalid reads when
`LadspaSubPluginFeatures` returned pointers to temporary `QByteArray::data`.
This commit is contained in:
Johannes Lorenz
2019-01-18 23:22:52 +01:00
parent f3b23830fb
commit d5dcebed83
5 changed files with 28 additions and 18 deletions

View File

@@ -165,9 +165,9 @@ public:
// helper functions to retrieve data that is
// not part of the key, but mapped via desc->subPluginFeatures
const char* additionalFileExtensions() const;
const char* displayName() const;
const char* description() const;
QString additionalFileExtensions() const;
QString displayName() const;
QString description() const;
const PixmapLoader* logo() const;
} ;
@@ -200,19 +200,19 @@ public:
// The defaults are sane, i.e. redirect to sub plugins
// supererior descriptor
virtual const char* additionalFileExtensions(const Key&) const
virtual QString additionalFileExtensions(const Key&) const
{
return nullptr;
}
virtual const char* displayName(const Key& k) const
virtual QString displayName(const Key& k) const
{
return k.isValid()
? k.desc->displayName
: k.name.toUtf8().data();
}
virtual const char* description(const Key& k) const
virtual QString description(const Key& k) const
{
return k.isValid() ? k.desc->description : "";
}