[systemsettings] [Bug 336089] Font preview - rendering problem

Thomas Lübking via KDE Bugzilla bugzilla_noreply at kde.org
Sat Jan 9 11:07:04 GMT 2016


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

--- Comment #43 from Thomas Lübking <thomas.luebking at 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 on the CC list for the bug.
You are the assignee for the bug.


More information about the Unassigned-bugs mailing list