[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [systemsettings] [Bug 336089] Font preview - rendering problem
From:       Thomas Lübking via KDE Bugzilla <bugzilla_noreply () kde
Date:       2016-01-09 11:07:04
Message-ID: bug-336089-17878-fcddvb1OzY () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=336089

--- Comment #43 from Thomas Lübking <thomas.luebking@gmail.com> ---
Resp. this one (the ARGB32 translucency handling is uncritical, it's applied to
the preconverted image. This should be the single point of failure)

diff --git a/kcms/kfontinst/lib/FcEngine.cpp b/kcms/kfontinst/lib/FcEngine.cpp
index 19b7206..012a9d5 100644
--- a/kcms/kfontinst/lib/FcEngine.cpp
+++ b/kcms/kfontinst/lib/FcEngine.cpp
@@ -537,7 +537,14 @@ QImage CFcEngine::Xft::toImage(int w, int h) const
     if (!xImage) {
         return QImage();
     }
-    return QImage(xImage->data, xImage->width, xImage->height, xImage->stride,
QImage::Format_ARGB32_Premultiplied, &cleanupXImage, xImage);
+    QImage::Format format = QImage::Format_RGB32;
+    switch (DefaultDepth(QX11Info::display(), 0)) {
+        case 32: format = QImage::Format_ARGB32_Premultiplied; break;
+        case 16: format = QImage::Format_RGB16; break;
+        case 8: format = QImage::Format_Grayscale8; break;
+        default: break;
+    }
+    return QImage(xImage->data, xImage->width, xImage->height, xImage->stride,
format, &cleanupXImage, xImage);
 }

 inline int point2Pixel(int point)

-- 
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic