Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
libqt4
use-freetype-default.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File use-freetype-default.diff of Package libqt4
Index: src/gui/text/qfontengine_x11.cpp =================================================================== --- src/gui/text/qfontengine_x11.cpp.orig +++ src/gui/text/qfontengine_x11.cpp @@ -967,6 +967,26 @@ Q_GUI_EXPORT void qt_x11ft_convert_patte *antialias = b; } +#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) @@ -984,7 +1004,7 @@ QFontEngineX11FT::QFontEngineX11FT(FcPat canUploadGlyphsToServer = QApplication::testAttribute(Qt::AA_X11InitThreads) || (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);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor