File use-freetype-default.diff of Package libqt4

--- src/gui/text/qfontengine_x11.cpp
+++ src/gui/text/qfontengine_x11.cpp
@@ -992,6 +992,26 @@ static bool subpixel_rendering_available()
     return (implemented = true);
 }
 
+#include <ft2build.h>
+#include FT_FREETYPE_H
+#include FT_LCD_FILTER_H
+
+static bool subpixel_rendering_available()
+{
+    static int implemented = -1;
+
+    if (implemented >= 0)
+        return implemented;
+
+    extern FT_Library qt_getFreetype();
+    FT_Library lib = qt_getFreetype();
+
+    if (FT_Err_Unimplemented_Feature ==
+            FT_Library_SetLcdFilter(lib, FT_LCD_FILTER_DEFAULT ))
+        return (implemented = false);
+
+    return (implemented = true);
+}
 
 QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int screen)
     : QFontEngineFT(fd)
@@ -1009,7 +1029,7 @@ QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int s
     canUploadGlyphsToServer = qApp->thread() == QThread::currentThread();
 
     subpixelType = Subpixel_None;
-    if (antialias) {
+    if (subpixel_rendering_available() && antialias) {
         int subpixel = X11->display ? X11->screens[screen].subpixel : FC_RGBA_UNKNOWN;
         if (subpixel == FC_RGBA_UNKNOWN)
             (void) FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel);
openSUSE Build Service is sponsored by