From bce0c006e828834a6d5ddc2a4e9b069f2de05c4a Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 21 Dec 2018 13:58:33 -0600 Subject: [PATCH] Revert "- backported patch to fix selection rendering issues if rounding leads to left-out pixels" This reverts commit a094a8d104374a999433b50d36b4540697e80af7. --- qt5-qtbase.spec | 10 +- ...11.2-optimize-insertionPointsForLine.patch | 105 ------------------ ...verywhere-src-5.11.2-rendering-issue.patch | 38 ------- 3 files changed, 1 insertion(+), 152 deletions(-) delete mode 100644 qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch delete mode 100644 qtbase-everywhere-src-5.11.2-rendering-issue.patch diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index e064b4c..8b21adf 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -46,7 +46,7 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components Version: 5.11.1 -Release: 9%{?dist} +Release: 8%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -119,8 +119,6 @@ Patch68: qtbase-everywhere-src-5.11.1-python3.patch Patch69: qt5-qtbase-glibc.patch ## upstream patches -Patch500: qtbase-everywhere-src-5.11.2-rendering-issue.patch -Patch501: qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are @@ -378,8 +376,6 @@ Qt5 libraries used for drawing widgets and OpenGL items. %endif ## upstream patches -%patch500 -p1 -b .rendering-issue -%patch501 -p1 -b .optimize-insertionPointsForLine # move some bundled libs to ensure they're not accidentally used pushd src/3rdparty @@ -988,10 +984,6 @@ fi %changelog -* Thu Oct 25 2018 Than Ngo - 5.11.1-9 -- backported patch to fix selection rendering issues if rounding leads to left-out pixels -- backported patch to optimize insertionPointsForLine - * Wed Oct 24 2018 Rex Dieter - 5.11.1-8 - (branch) -no-use-gold-linker (#1635973) diff --git a/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch b/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch deleted file mode 100644 index 93858f8..0000000 --- a/qtbase-everywhere-src-5.11.2-optimize-insertionPointsForLine.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp.me 2018-10-25 11:30:37.371800942 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine.cpp 2018-10-25 11:36:24.496953609 +0200 -@@ -3663,11 +3663,12 @@ int QTextEngine::lineNumberForTextPositi - return -1; - } - --void QTextEngine::insertionPointsForLine(int lineNum, QVector &insertionPoints) -+std::vector QTextEngine::insertionPointsForLine(int lineNum) - { - QTextLineItemIterator iterator(this, lineNum); - -- insertionPoints.reserve(iterator.line.length); -+ std::vector insertionPoints; -+ insertionPoints.reserve(size_t(iterator.line.length)); - - bool lastLine = lineNum >= lines.size() - 1; - -@@ -3685,25 +3686,22 @@ void QTextEngine::insertionPointsForLine - insertionPoints.push_back(i); - } - } -+ return insertionPoints; - } - - int QTextEngine::endOfLine(int lineNum) - { -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- -+ const auto insertionPoints = insertionPointsForLine(lineNum); - if (insertionPoints.size() > 0) -- return insertionPoints.constLast(); -+ return insertionPoints.back(); - return 0; - } - - int QTextEngine::beginningOfLine(int lineNum) - { -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- -+ const auto insertionPoints = insertionPointsForLine(lineNum); - if (insertionPoints.size() > 0) -- return insertionPoints.constFirst(); -+ return insertionPoints.front(); - return 0; - } - -@@ -3720,10 +3718,8 @@ int QTextEngine::positionAfterVisualMove - if (lineNum < 0) - return pos; - -- QVector insertionPoints; -- insertionPointsForLine(lineNum, insertionPoints); -- int i, max = insertionPoints.size(); -- for (i = 0; i < max; i++) -+ const auto insertionPoints = insertionPointsForLine(lineNum); -+ for (size_t i = 0, max = insertionPoints.size(); i < max; ++i) - if (pos == insertionPoints[i]) { - if (moveRight) { - if (i + 1 < max) -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h.me 2018-10-25 11:36:39.243002574 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextengine_p.h 2018-10-25 11:37:45.966224143 +0200 -@@ -74,6 +74,7 @@ - #include - - #include -+#include - - QT_BEGIN_NAMESPACE - -@@ -632,7 +633,7 @@ public: - int nextLogicalPosition(int oldPos) const; - int lineNumberForTextPosition(int pos); - int positionAfterVisualMovement(int oldPos, QTextCursor::MoveOperation op); -- void insertionPointsForLine(int lineNum, QVector &insertionPoints); -+ std::vector insertionPointsForLine(int lineNum); - void resetFontEngineCache(); - - void enableDelayDecorations(bool enable = true) { delayDecorations = enable; } -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me 2018-10-25 11:38:04.426285436 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp 2018-10-25 11:40:23.919748643 +0200 -@@ -2841,9 +2841,7 @@ int QTextLine::xToCursor(qreal _x, Curso - bool rtl = eng->isRightToLeft(); - - eng->shapeLine(line); -- QVector insertionPoints; -- if (visual && rtl) -- eng->insertionPointsForLine(lineNum, insertionPoints); -+ const auto insertionPoints = (visual && rtl) ? eng->insertionPointsForLine(lineNum) : std::vector(); - int nchars = 0; - for (int i = 0; i < nItems; ++i) { - int item = visualOrder[i]+firstItem; -@@ -2975,7 +2973,7 @@ int QTextLine::xToCursor(qreal _x, Curso - continue; - } - if (rtl && nchars > 0) -- return insertionPoints[lastLine ? nchars : nchars - 1]; -+ return insertionPoints[size_t(lastLine ? nchars : nchars - 1)]; - } - return eng->positionInLigature(&si, end, x, pos, -1, - cpos == QTextLine::CursorOnCharacter); diff --git a/qtbase-everywhere-src-5.11.2-rendering-issue.patch b/qtbase-everywhere-src-5.11.2-rendering-issue.patch deleted file mode 100644 index ce8f672..0000000 --- a/qtbase-everywhere-src-5.11.2-rendering-issue.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp ---- qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp.me 2018-10-25 10:54:48.849646288 +0200 -+++ qtbase-everywhere-src-5.11.2/src/gui/text/qtextlayout.cpp 2018-10-25 10:58:19.054347658 +0200 -@@ -1006,10 +1006,8 @@ static void addSelectedRegionsToPath(QTe - } - - if (lastSelectionWidth > 0) { -- QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -- rect.moveLeft(qFloor(rect.left())); -- rect.moveTop(qFloor(rect.top())); -- region->addRect(rect); -+ const QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -+ region->addRect(rect.toAlignedRect()); - } - - lastSelectionX = selectionX; -@@ -1017,10 +1015,8 @@ static void addSelectedRegionsToPath(QTe - } - } - if (lastSelectionWidth > 0) { -- QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -- rect.moveLeft(qFloor(rect.left())); -- rect.moveTop(qFloor(rect.top())); -- region->addRect(rect); -+ const QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); -+ region->addRect(rect.toAlignedRect()); - } - } - -@@ -2135,7 +2131,7 @@ static void setPenAndDrawBackground(QPai - - QBrush bg = chf.background(); - if (bg.style() != Qt::NoBrush && !chf.property(SuppressBackground).toBool()) -- p->fillRect(QRectF(qFloor(r.x()), qFloor(r.y()), r.width(), r.height()), bg); -+ p->fillRect(r.toAlignedRect(), bg); - if (c.style() != Qt::NoBrush) { - p->setPen(QPen(c, 0)); - }