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
|
QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return Availability(m_radioData->availability());
|
return Availability(m_radioData->availability());
|
||||||
|
|
||||||
|
return Unavailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -141,7 +144,10 @@ QDeclarativeRadioData::Availability QDeclarativeRadioData::availability() const
|
|||||||
*/
|
*/
|
||||||
QString QDeclarativeRadioData::stationId() const
|
QString QDeclarativeRadioData::stationId() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return m_radioData->stationId();
|
return m_radioData->stationId();
|
||||||
|
|
||||||
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -206,7 +212,10 @@ QString QDeclarativeRadioData::stationId() const
|
|||||||
*/
|
*/
|
||||||
QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
|
QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
|
return static_cast<QDeclarativeRadioData::ProgramType>(m_radioData->programType());
|
||||||
|
|
||||||
|
return Undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -216,7 +225,10 @@ QDeclarativeRadioData::ProgramType QDeclarativeRadioData::programType() const
|
|||||||
*/
|
*/
|
||||||
QString QDeclarativeRadioData::programTypeName() const
|
QString QDeclarativeRadioData::programTypeName() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return m_radioData->programTypeName();
|
return m_radioData->programTypeName();
|
||||||
|
|
||||||
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -226,7 +238,10 @@ QString QDeclarativeRadioData::programTypeName() const
|
|||||||
*/
|
*/
|
||||||
QString QDeclarativeRadioData::stationName() const
|
QString QDeclarativeRadioData::stationName() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return m_radioData->stationName();
|
return m_radioData->stationName();
|
||||||
|
|
||||||
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -238,7 +253,10 @@ QString QDeclarativeRadioData::stationName() const
|
|||||||
*/
|
*/
|
||||||
QString QDeclarativeRadioData::radioText() const
|
QString QDeclarativeRadioData::radioText() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return m_radioData->radioText();
|
return m_radioData->radioText();
|
||||||
|
|
||||||
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -250,11 +268,15 @@ QString QDeclarativeRadioData::radioText() const
|
|||||||
*/
|
*/
|
||||||
bool QDeclarativeRadioData::alternativeFrequenciesEnabled() const
|
bool QDeclarativeRadioData::alternativeFrequenciesEnabled() const
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
return m_radioData->isAlternativeFrequenciesEnabled();
|
return m_radioData->isAlternativeFrequenciesEnabled();
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QDeclarativeRadioData::setAlternativeFrequenciesEnabled(bool enabled)
|
void QDeclarativeRadioData::setAlternativeFrequenciesEnabled(bool enabled)
|
||||||
{
|
{
|
||||||
|
if (m_radioData)
|
||||||
m_radioData->setAlternativeFrequenciesEnabled(enabled);
|
m_radioData->setAlternativeFrequenciesEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user