[SCM] qtbase packaging branch, master, updated. debian/5.5.1+dfsg-14-3-gee3fcce
Timo Jyrinki
timo at moszumanska.debian.org
Wed Feb 17 10:28:08 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtbase.git;a=commitdiff;h=ee3fcce
The following commit has been merged in the master branch:
commit ee3fcce463c10d67a20f0becfe474f207573d4f6
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date: Fri Nov 27 12:15:42 2015 +0000
Cherry-pick a QT_PLUGIN_PATH preferral and font rendering fixes.
---
debian/changelog | 6 ++
...-falsely-reported-style-for-fallback-font.patch | 55 +++++++++++++++++
...fer-QT_PLUGIN_PATH-over-compiled-in-paths.patch | 70 ++++++++++++++++++++++
...orical-4-padding-in-QFontEngine-alphaMapF.patch | 45 ++++++++++++++
debian/patches/series | 3 +
5 files changed, 179 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 0dd8079..58fe8fb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,12 @@ qtbase-opensource-src (5.5.1+dfsg-15) UNRELEASED; urgency=medium
* Backport XCB patch related to screen disconnection handling QTBUG-42985:
- xcb-fix-yet-another-crash-when-screens-are-disconnec.patch
+ * debian/patches/Prefer-QT_PLUGIN_PATH-over-compiled-in-paths.patch:
+ - Backport. Prefer QT_PLUGIN_PATH over compiled-in paths (LP: #1519927)
+ * Fix Chinese glyph font rendering with new backported upstream patches:
+ - debian/patches/Fix-falsely-reported-style-for-fallback-font.patch
+ - debian/patches/Remove-historical-4-padding-in-QFontEngine-alphaMapF.patch
+ (LP: #1475205)
-- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Wed, 17 Feb 2016 10:15:48 +0000
diff --git a/debian/patches/Fix-falsely-reported-style-for-fallback-font.patch b/debian/patches/Fix-falsely-reported-style-for-fallback-font.patch
new file mode 100644
index 0000000..cbd4657
--- /dev/null
+++ b/debian/patches/Fix-falsely-reported-style-for-fallback-font.patch
@@ -0,0 +1,55 @@
+From a856c4a902816a7d691ca50e6f556521287be441 Mon Sep 17 00:00:00 2001
+From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt at theqtcompany.com>
+Date: Tue, 27 Oct 2015 11:00:35 +0100
+Subject: [PATCH] Fix falsely reported style for fallback font
+
+In change 8f6b3284106fa11129e4fa6e5ec3adc6cb1f489f we override
+the fontDef of the fallback font with the fontDef of the
+original font (with the family name replaced) to fix a
+regression where boldness was not inherited by the fallback
+font.
+
+This caused a bug, though, since the contents of the fontDef
+would now misrepresent the actual font used. The side effect
+of this was that isSmoothlyScalable() returned false because
+the family and styleName combination we claim to have did
+not exist in the font database. Result: We fell back to
+native rendering for the font even though it's scalable.
+
+Weight and style are the only parts that should be inherited,
+since they are synthesized. So rather than overwriting
+the fontDef completely, we copy the weight and style when
+needed.
+
+The bug in QTBUG-42963 is still fixed after this change.
+
+[ChangeLog][Text] Fixed problem where fallback fonts for text
+with certain styles would be reported as unscalable.
+
+Change-Id: I95ef67f818852aea5a6ae8df789a52364ecb59a6
+Task-number: QTBUG-47547
+Reviewed-by: Lars Knoll <lars.knoll at theqtcompany.com>
+Reviewed-by: Konstantin Ritt <ritt.ks at gmail.com>
+---
+ src/gui/text/qfontengine.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
+index 3208a19..f267b2d 100644
+--- a/src/gui/text/qfontengine.cpp
++++ b/src/gui/text/qfontengine.cpp
+@@ -1835,7 +1835,10 @@ QFontEngine *QFontEngineMulti::loadEngine(int at)
+ request.family = fallbackFamilyAt(at - 1);
+
+ if (QFontEngine *engine = QFontDatabase::findFont(request, m_script)) {
+- engine->fontDef = request;
++ if (request.weight > QFont::Normal)
++ engine->fontDef.weight = request.weight;
++ if (request.style > QFont::StyleNormal)
++ engine->fontDef.style = request.style;
+ return engine;
+ }
+
+--
+2.6.2
+
diff --git a/debian/patches/Prefer-QT_PLUGIN_PATH-over-compiled-in-paths.patch b/debian/patches/Prefer-QT_PLUGIN_PATH-over-compiled-in-paths.patch
new file mode 100644
index 0000000..8227bbc
--- /dev/null
+++ b/debian/patches/Prefer-QT_PLUGIN_PATH-over-compiled-in-paths.patch
@@ -0,0 +1,70 @@
+From 6129be8a4ba976c42e51012ebaa9005eb402db80 Mon Sep 17 00:00:00 2001
+From: Milian Wolff <milian.wolff at kdab.com>
+Date: Mon, 27 Jul 2015 11:49:55 +0200
+Subject: [PATCH] Prefer QT_PLUGIN_PATH over compiled-in paths.
+
+Currently, when one compiles a Qt plugin that is also installed
+system wide to a local path added to QT_PLUGIN_PATH, you have no
+way to ever load it as the global plugin will always be preferred.
+This is due to the order in which the QCoreApplications::libraryPaths
+are constructed, which always appended the QT_PLUGIN_PATH contents
+to the end.
+
+Now, the QT_PLUGIN_PATH contents are put first, such that the plugins
+in there are preferred and loaded.
+
+[ChangeLog][QtCore][QPluginLoader] Fixed the search order of Qt plugins
+so that paths specified by the QT_PLUGIN_PATH environment variable
+are searched before built-in paths.
+
+Change-Id: Iad8ca2cd34e7a622c191a416c01c1c5cc1812fc9
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen at theqtcompany.com>
+Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart at woboq.com>
+---
+ src/corelib/kernel/qcoreapplication.cpp | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
+index e08f709..e9fdb8c 100644
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2541,17 +2541,6 @@ QStringList QCoreApplication::libraryPaths()
+ QMutexLocker locker(libraryPathMutex());
+ if (!coreappdata()->app_libpaths) {
+ QStringList *app_libpaths = coreappdata()->app_libpaths = new QStringList;
+- QString installPathPlugins = QLibraryInfo::location(QLibraryInfo::PluginsPath);
+- if (QFile::exists(installPathPlugins)) {
+- // Make sure we convert from backslashes to slashes.
+- installPathPlugins = QDir(installPathPlugins).canonicalPath();
+- if (!app_libpaths->contains(installPathPlugins))
+- app_libpaths->append(installPathPlugins);
+- }
+-
+- // If QCoreApplication is not yet instantiated,
+- // make sure we add the application path when we construct the QCoreApplication
+- if (self) self->d_func()->appendApplicationPathToLibraryPaths();
+
+ const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
+ if (!libPathEnv.isEmpty()) {
+@@ -2564,6 +2553,18 @@ QStringList QCoreApplication::libraryPaths()
+ }
+ }
+ }
++
++ QString installPathPlugins = QLibraryInfo::location(QLibraryInfo::PluginsPath);
++ if (QFile::exists(installPathPlugins)) {
++ // Make sure we convert from backslashes to slashes.
++ installPathPlugins = QDir(installPathPlugins).canonicalPath();
++ if (!app_libpaths->contains(installPathPlugins))
++ app_libpaths->append(installPathPlugins);
++ }
++
++ // If QCoreApplication is not yet instantiated,
++ // make sure we add the application path when we construct the QCoreApplication
++ if (self) self->d_func()->appendApplicationPathToLibraryPaths();
+ }
+ return *(coreappdata()->app_libpaths);
+ }
+--
+2.6.2
+
diff --git a/debian/patches/Remove-historical-4-padding-in-QFontEngine-alphaMapF.patch b/debian/patches/Remove-historical-4-padding-in-QFontEngine-alphaMapF.patch
new file mode 100644
index 0000000..9cff019
--- /dev/null
+++ b/debian/patches/Remove-historical-4-padding-in-QFontEngine-alphaMapF.patch
@@ -0,0 +1,45 @@
+From 39e023b805cf2be207ef7086f6951e789e020bda Mon Sep 17 00:00:00 2001
+From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt at theqtcompany.com>
+Date: Mon, 26 Oct 2015 15:20:41 +0100
+Subject: [PATCH] Remove historical +4 padding in
+ QFontEngine::alphaMapForGlyph()
+
+Back in the old days, we would pad the output from the font engines
+to work around problems with the GL1 paint engine such as issues
+with linear sampling, etc. This is no longer needed. Padding is
+moved into the glyph cache, and in addition to reducing performance,
+the extra padding is also making alphaMapForGlyph() and
+alphaMapBoundingBox() fall out of sync when you fall back to
+QPainterPath drawing the glyph. The result of this was that,
+when prepared, the glyph cache was sometimes not made large enough
+to hold what alphaMapForGlyph() actually produced, depending on
+the size and order of glyphs, and glyphs ending up at the end of rows
+would sometimes be missing from the output.
+
+[ChangeLog][Text] Fixed some instances of missing glyphs when
+drawing large fonts.
+
+Change-Id: Ia5982392fe1637f6ebc740db9f226fbb91f75166
+Task-number: QTBUG-47547
+Reviewed-by: Gunnar Sletta <gunnar at sletta.org>
+Reviewed-by: Konstantin Ritt <ritt.ks at gmail.com>
+---
+ src/gui/text/qfontengine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
+index 6567859..a0eedee 100644
+--- a/src/gui/text/qfontengine.cpp
++++ b/src/gui/text/qfontengine.cpp
+@@ -961,7 +961,7 @@ QImage QFontEngine::alphaMapForGlyph(glyph_t glyph)
+ pt.x = -glyph_x;
+ pt.y = -glyph_y; // the baseline
+ QPainterPath path;
+- QImage im(glyph_width + 4, glyph_height, QImage::Format_ARGB32_Premultiplied);
++ QImage im(glyph_width, glyph_height, QImage::Format_ARGB32_Premultiplied);
+ im.fill(Qt::transparent);
+ QPainter p(&im);
+ p.setRenderHint(QPainter::Antialiasing);
+--
+2.6.2
+
diff --git a/debian/patches/series b/debian/patches/series
index f4c57c0..a9bb8a4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,9 @@ set_WA_OutsideWSRange_for_native_widgets.patch
bsd_volumeinfo.diff
hurd_forkfd.diff
xcb-fix-yet-another-crash-when-screens-are-disconnec.patch
+Prefer-QT_PLUGIN_PATH-over-compiled-in-paths.patch
+Fix-falsely-reported-style-for-fallback-font.patch
+Remove-historical-4-padding-in-QFontEngine-alphaMapF.patch
mips_no_atomic.diff
detect_64bit_atomic.diff
qnetworkreply_abort_socket.diff
--
qtbase packaging
More information about the pkg-kde-commits
mailing list