aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/context2d/qquickcanvasitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/context2d/qquickcanvasitem.cpp')
-rw-r--r--src/quick/items/context2d/qquickcanvasitem.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp
index 368a2b78d1..dcad719ef0 100644
--- a/src/quick/items/context2d/qquickcanvasitem.cpp
+++ b/src/quick/items/context2d/qquickcanvasitem.cpp
@@ -1097,18 +1097,22 @@ QImage QQuickCanvasItem::toImage(const QRectF& rect) const
static const char* mimeToType(const QString &mime)
{
- if (mime == QLatin1String("image/png"))
- return "PNG";
- else if (mime == QLatin1String("image/bmp"))
- return "BMP";
- else if (mime == QLatin1String("image/jpeg"))
- return "JPEG";
- else if (mime == QLatin1String("image/x-portable-pixmap"))
- return "PPM";
- else if (mime == QLatin1String("image/tiff"))
- return "TIFF";
- else if (mime == QLatin1String("image/xpm"))
- return "XPM";
+ const QLatin1String imagePrefix("image/");
+ if (!mime.startsWith(imagePrefix))
+ return nullptr;
+ const QStringRef mimeExt = mime.midRef(imagePrefix.size());
+ if (mimeExt == QLatin1String("png"))
+ return "png";
+ else if (mimeExt == QLatin1String("bmp"))
+ return "bmp";
+ else if (mimeExt == QLatin1String("jpeg"))
+ return "jpeg";
+ else if (mimeExt == QLatin1String("x-portable-pixmap"))
+ return "ppm";
+ else if (mimeExt == QLatin1String("tiff"))
+ return "tiff";
+ else if (mimeExt == QLatin1String("xpm"))
+ return "xpm";
return nullptr;
}