From b8b13494ed151595c5fc104572655f667870e6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 5 Oct 2009 13:14:11 +0200 Subject: Made X11 pixmap backend's fromImage() check for Qt::NoOpaqueDetection. Reviewed-by: Gunnar --- src/gui/image/qpixmap_x11.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp index 92a7e7d..74543a0 100644 --- a/src/gui/image/qpixmap_x11.cpp +++ b/src/gui/image/qpixmap_x11.cpp @@ -387,7 +387,14 @@ struct QX11AlphaDetector return hasAlpha(); } - QX11AlphaDetector(const QImage *i) : image(i), checked(false), has(false) { } + QX11AlphaDetector(const QImage *i, Qt::ImageConversionFlags flags) + : image(i), checked(false), has(false) + { + if (flags & Qt::NoOpaqueDetection) { + checked = true; + has = image->hasAlphaChannel(); + } + } const QImage *image; mutable bool checked; @@ -427,7 +434,7 @@ void QX11PixmapData::fromImage(const QImage &img, return; } - QX11AlphaDetector alphaCheck(&img); + QX11AlphaDetector alphaCheck(&img, flags); int dd = alphaCheck.hasXRenderAndAlpha() ? 32 : xinfo.depth(); if (qt_x11_preferred_pixmap_depth) -- cgit v0.12