Fix possible crashes in QDeclarativeRadioData.
It would crash when accessing any of its properties when there is no radio backend available. Task-number: QTBUG-47859 Change-Id: Ic7c0a70ca3e9a4768359b3429ea812caece09fce Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
@@ -129,7 +129,10 @@ QDeclarativeRadioData::~QDeclarativeRadioData()
|
||||
*/
|
||||
QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
|
||||
{
|
||||
return Availability(m_radioData->availability());
|
||||
if (m_radioData)
|
||||
return Availability(m_radioData->availability());
|
||||
|
||||
return Unavailable;
|
||||
}
|
||||
|
||||
|
||||
@@ -141,7 +144,10 @@ QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
|
||||
*/
|
||||
QString QDeclarativeRadioData::stationId() const
|
||||
{
|
||||
return m_radioData->stationId();
|
||||
if (m_radioData)
|
||||
return m_radioData->stationId();
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -206,7 +212,10 @@ QString QDeclarativeRadioData::stationId() const
|
||||
*/
|
||||
QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
|
||||
{
|
||||
return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
|
||||
if (m_radioData)
|
||||
return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
|
||||
|
||||
return Undefined;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -216,7 +225,10 @@ QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
|
||||
*/
|
||||
QString QDeclarativeRadioData::programTypeName() const
|
||||
{
|
||||
return m_radioData->programTypeName();
|
||||
if (m_radioData)
|
||||
return m_radioData->programTypeName();
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -226,7 +238,10 @@ QString QDeclarativeRadioData::programTypeName() const
|
||||
*/
|
||||
QString QDeclarativeRadioData::stationName() const
|
||||
{
|
||||
return m_radioData->stationName();
|
||||
if (m_radioData)
|
||||
return m_radioData->stationName();
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -238,7 +253,10 @@ QString QDeclarativeRadioData::stationName() const
|
||||
*/
|
||||
QString QDeclarativeRadioData::radioText() const
|
||||
{
|
||||
return m_radioData->radioText();
|
||||
if (m_radioData)
|
||||
return m_radioData->radioText();
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -250,12 +268,16 @@ QString QDeclarativeRadioData::radioText() const
|
||||
*/
|
||||
bool QDeclarativeRadioData::alternativeFrequenciesEnabled() const
|
||||
{
|
||||
return m_radioData->isAlternativeFrequenciesEnabled();
|
||||
if (m_radioData)
|
||||
return m_radioData->isAlternativeFrequenciesEnabled();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void QDeclarativeRadioData::setAlternativeFrequenciesEnabled(bool enabled)
|
||||
{
|
||||
m_radioData->setAlternativeFrequenciesEnabled(enabled);
|
||||
if (m_radioData)
|
||||
m_radioData->setAlternativeFrequenciesEnabled(enabled);
|
||||
}
|
||||
|
||||
void QDeclarativeRadioData::_q_programTypeChanged(QRadioData::ProgramType programType)
|
||||
|
||||
Reference in New Issue
Block a user