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

--- Comment #45 from Cor Blom <corne...@solcon.nl> ---
(In reply to Thomas Lübking from comment #43)
> 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)

This patch solved the bug on openSUSE Leap 42.1 and nouveau (a NVD9 card)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to