Merge pull request #6718 from michaelgregorius/6711-AutomationCrash

Fix automation crash (#6711)
This commit is contained in:
Michael Gregorius
2023-06-02 22:49:34 +02:00
committed by GitHub
2 changed files with 40 additions and 32 deletions

View File

@@ -37,35 +37,18 @@ class LMMS_EXPORT Model : public QObject
{
Q_OBJECT
public:
Model( Model * _parent, QString _display_name = QString(),
bool _default_constructed = false ) :
QObject( _parent ),
m_displayName( _display_name ),
m_defaultConstructed( _default_constructed )
{
}
Model(Model* parent, QString displayName = QString(),
bool defaultConstructed = false);
~Model() override = default;
bool isDefaultConstructed()
{
return m_defaultConstructed;
}
bool isDefaultConstructed() const;
Model* parentModel() const
{
return static_cast<Model *>( parent() );
}
Model* parentModel() const;
virtual QString displayName() const
{
return m_displayName;
}
virtual QString displayName() const;
virtual void setDisplayName( const QString& displayName )
{
m_displayName = displayName;
}
virtual void setDisplayName(const QString& displayName);
virtual QString fullDisplayName() const;

View File

@@ -27,22 +27,47 @@
namespace lmms
{
Model::Model(Model* parent, QString displayName, bool defaultConstructed) :
QObject(parent),
m_displayName(displayName),
m_defaultConstructed(defaultConstructed)
{
}
bool Model::isDefaultConstructed() const
{
return m_defaultConstructed;
}
Model* Model::parentModel() const
{
return dynamic_cast<Model*>(parent());
}
QString Model::displayName() const
{
return m_displayName;
}
void Model::setDisplayName(const QString& displayName)
{
m_displayName = displayName;
}
QString Model::fullDisplayName() const
{
const QString & n = displayName();
if( parentModel() )
const QString n = displayName();
if (parentModel())
{
const QString p = parentModel()->fullDisplayName();
if( n.isEmpty() && p.isEmpty() )
if (!p.isEmpty())
{
return QString();
return p + ">" + n;
}
else if( p.isEmpty() )
{
return n;
}
return p + ">" + n;
}
return n;
}