From b9cddbd84b74fdda30190800ed827dc80aa65f6c Mon Sep 17 00:00:00 2001 From: Palo Kisa Date: Mon, 8 Jan 2018 22:35:32 +0100 Subject: svgiconengine: Fix isNull() for deserialized icons In 4a9470e55ce08752501868c60762268fdf2c44af there was introduced specific isNull() implementation for QSvgIconEngine. But the existing check was not sufficient for the scenarios where the QIcon is constructed by deserialization from QDataStream (from previously serialized valid svg QIcon). We also need to check the svgBuffers as the previously serialized svgFiles are silently ignored by QSvgIconEngine::read(). Change-Id: Id64ce233baead053c8b5ca61f1d416e46a8c6088 Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: David Edmundson --- src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp index 734f4bb..0c54e0e 100644 --- a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp +++ b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp @@ -378,7 +378,7 @@ bool QSvgIconEngine::write(QDataStream &out) const void QSvgIconEngine::virtual_hook(int id, void *data) { if (id == QIconEngine::IsNullHook) { - *reinterpret_cast(data) = d->svgFiles.isEmpty() && !d->addedPixmaps; + *reinterpret_cast(data) = d->svgFiles.isEmpty() && !d->addedPixmaps && (!d->svgBuffers || d->svgBuffers->isEmpty()); } QIconEngine::virtual_hook(id, data); } -- cgit v1.2.1