fix case insensitive issue with image provider id
Task-number: QTBUG-31614 Change-Id: I866df6e3ed6226b443640a51f66a3dbb92b31249 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
This commit is contained in:
parent
ad92ce206d
commit
5d4b006181
|
@ -1065,7 +1065,7 @@ QQmlImageProviderBase *QQmlEngine::imageProvider(const QString &providerId) cons
|
|||
{
|
||||
Q_D(const QQmlEngine);
|
||||
QMutexLocker locker(&d->mutex);
|
||||
return d->imageProviders.value(providerId).data();
|
||||
return d->imageProviders.value(providerId.toLower()).data();
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -1077,7 +1077,7 @@ void QQmlEngine::removeImageProvider(const QString &providerId)
|
|||
{
|
||||
Q_D(QQmlEngine);
|
||||
QMutexLocker locker(&d->mutex);
|
||||
d->imageProviders.take(providerId);
|
||||
d->imageProviders.take(providerId.toLower());
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -71,6 +71,9 @@ private slots:
|
|||
void removeProvider_data();
|
||||
void removeProvider();
|
||||
|
||||
void imageProviderId_data();
|
||||
void imageProviderId();
|
||||
|
||||
void threadTest();
|
||||
|
||||
private:
|
||||
|
@ -372,6 +375,31 @@ void tst_qquickimageprovider::removeProvider()
|
|||
delete obj;
|
||||
}
|
||||
|
||||
void tst_qquickimageprovider::imageProviderId_data()
|
||||
{
|
||||
QTest::addColumn<QString>("providerId");
|
||||
|
||||
QTest::newRow("lowercase") << QStringLiteral("imageprovider");
|
||||
QTest::newRow("CamelCase") << QStringLiteral("ImageProvider");
|
||||
QTest::newRow("UPPERCASE") << QStringLiteral("IMAGEPROVIDER");
|
||||
}
|
||||
|
||||
void tst_qquickimageprovider::imageProviderId()
|
||||
{
|
||||
QFETCH(QString, providerId);
|
||||
|
||||
QQmlEngine engine;
|
||||
|
||||
bool deleteWatch = false;
|
||||
TestQImageProvider *provider = new TestQImageProvider(&deleteWatch);
|
||||
|
||||
engine.addImageProvider(providerId, provider);
|
||||
QVERIFY(engine.imageProvider(providerId) != 0);
|
||||
|
||||
engine.removeImageProvider(providerId);
|
||||
QVERIFY(deleteWatch);
|
||||
}
|
||||
|
||||
class TestThreadProvider : public QQuickImageProvider
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue