rpms/qt/devel konsole-nvidia-font-speed.diff, NONE, 1.1 qt.spec, 1.365, 1.366

Rex Dieter rdieter at fedoraproject.org
Mon Jan 11 20:02:42 UTC 2010


Author: rdieter

Update of /cvs/pkgs/rpms/qt/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30250

Modified Files:
	qt.spec 
Added Files:
	konsole-nvidia-font-speed.diff 
Log Message:
* Mon jan 11 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-5
- bitmap_font_speed patch (QTBUG-7255)


konsole-nvidia-font-speed.diff:
 qpaintengine_x11.cpp |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

--- NEW FILE konsole-nvidia-font-speed.diff ---
--- src/gui/painting/qpaintengine_x11.cpp.sav	2009-12-05 11:34:37.000000000 +0100
+++ src/gui/painting/qpaintengine_x11.cpp	2010-01-03 22:20:14.300572192 +0100
@@ -2297,6 +2297,7 @@ static QPainterPath path_for_glyphs(cons
     path.setFillRule(Qt::WindingFill);
     ft->lockFace();
     int i = 0;
+    const QFixed offs = QFixed::fromReal(aliasedCoordinateDelta);
     while (i < glyphs.size()) {
         QFontEngineFT::Glyph *glyph = ft->loadGlyph(glyphs[i], QFontEngineFT::Format_Mono);
         // #### fix case where we don't get a glyph
@@ -2306,15 +2307,15 @@ static QPainterPath path_for_glyphs(cons
         Q_ASSERT(glyph->format == QFontEngineFT::Format_Mono);
         int n = 0;
         int h = glyph->height;
-        int xp = qRound(positions[i].x);
-        int yp = qRound(positions[i].y);
+        int xp = qRound(positions[i].x + offs);
+        int yp = qRound(positions[i].y + offs);
 
         xp += glyph->x;
         yp += -glyph->y + glyph->height;
         int pitch = ((glyph->width + 31) & ~31) >> 3;
 
         uchar *src = glyph->data;
-        while (h--) {
+        for (;h > 0;h--) {
             for (int x = 0; x < glyph->width; ++x) {
                 bool set = src[x >> 3] & (0x80 >> (x & 7));
                 if (set) {
@@ -2349,7 +2350,7 @@ void QX11PaintEngine::drawFreetype(const
         return;
     }
 
-    const bool xrenderPath = (X11->use_xrender
+    const bool xrenderPath = (X11->use_xrender && !ft->isBitmapFont()
                               && !(d->pdev->devType() == QInternal::Pixmap
                                    && static_cast<const QPixmap *>(d->pdev)->data->pixelType() == QPixmapData::BitmapType));
 


Index: qt.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qt/devel/qt.spec,v
retrieving revision 1.365
retrieving revision 1.366
diff -u -p -r1.365 -r1.366
--- qt.spec	11 Jan 2010 06:44:53 -0000	1.365
+++ qt.spec	11 Jan 2010 20:02:42 -0000	1.366
@@ -13,7 +13,7 @@ Summary: Qt toolkit
 Name:    qt
 Epoch:   1
 Version: 4.6.0
-Release: 4%{?dist}
+Release: 5%{?dist}
 
 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
 License: LGPLv2 with exceptions or GPLv3 with exceptions
@@ -57,6 +57,8 @@ Patch53: qt-x11-opensource-src-4.5.0-fix
 # fix invalid assumptions about mysql_config --libs
 # http://bugzilla.redhat.com/440673
 Patch54: qt-x11-opensource-src-4.5.1-mysql_config.patch
+# http://bugreports.qt.nokia.com/browse/QTBUG-7255
+Patch55: http://bugreports.qt.nokia.com/secure/attachment/12488/konsole-nvidia-font-speed.diff
 
 # security patches
 
@@ -415,6 +417,7 @@ Qt libraries used for drawing widgets an
 %patch53 -p1 -b .qatomic-inline-asm
 ## TODO: upstream me
 %patch54 -p1 -b .mysql_config
+%patch55 -p0 -b .bitmap_font_speed
 
 # security fixes
 
@@ -1024,6 +1027,9 @@ fi
 
 
 %changelog
+* Mon jan 11 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-5
+- bitmap_font_speed patch (QTBUG-7255)
+
 * Sat Jan 09 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-4
 - Fix crash when QGraphicsItem destructor deletes other QGraphicsItem (kde-qt cec34b01)
 - Fix a crash in KDE/Plasma with QGraphicsView. TopLevel list of items (kde-qt 63839f0c)



More information about the scm-commits mailing list