forked from pool/libqt5-qtbase
Accepting request 759684 from KDE:Qt:5.14
- Update license tag - Add patches to avoid regression with rendering of translucent text (QTBUG-80982): * 0001-Revert-Fix-text-rendering-regression-on-semi-transpa.patch * 0002-Revert-Fix-crash-with-gamma-corrected-text-blending-.patch * 0003-Revert-Handle-transparent-pen-color-in-fast-text-pat.patch - Update to 5.14.0: * New bugfix release * For the changes between 5.13.2 and 5.14.0 please see: https://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.14.0?h=v5.14.0 * For the changes between 5.13.1 and 5.13.2 please see: https://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.13.2?h=v5.14.0 - Update to 5.14.0-rc: * New bugfix release * No changelog available * For more details please see: * For more details about Qt 5.14 please see: https://wiki.qt.io/New_Features_in_Qt_5.14 - Drop patch, Qt behaviour changed now and applications can deal with it meanwhile: * 0001-Revert-QWidgetWindow-Immediately-forward-close-event.patch - Update to 5.14.0-beta3: * New bugfix release * No changelog available - Drop libqt5-Fix-Gujarati-font.patch, didn't apply anymore: * Was probably fixed upstream a loooong time ago (QTBUG-44568) OBS-URL: https://build.opensuse.org/request/show/759684 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=103
This commit is contained in:
commit
4dbfeda17e
@ -18,10 +18,10 @@ a Change-Id: Ib70715d331e8f380a3c9039011bb8521986652aa
|
|||||||
src/plugins/printsupport/cups/qppdprintdevice.cpp | 33 +++++++-
|
src/plugins/printsupport/cups/qppdprintdevice.cpp | 33 +++++++-
|
||||||
4 files changed, 160 insertions(+), 11 deletions(-)
|
4 files changed, 160 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||||
@@ -48,6 +48,7 @@
|
@@ -48,6 +48,7 @@
|
||||||
#include <qbuffer.h>
|
#include <qbuffer.h>
|
||||||
#include "private/qcups_p.h" // Only needed for PPK_CupsOptions
|
#include "private/qcups_p.h" // Only needed for PPK_CupsOptions
|
||||||
@ -72,10 +72,10 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengi
|
|||||||
|
|
||||||
QFile::remove(tempFile);
|
QFile::remove(tempFile);
|
||||||
}
|
}
|
||||||
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||||
@@ -61,6 +61,35 @@
|
@@ -61,6 +61,35 @@
|
||||||
# include <cups/language.h>
|
# include <cups/language.h>
|
||||||
#endif
|
#endif
|
||||||
@ -206,10 +206,10 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersu
|
|||||||
+
|
+
|
||||||
+
|
+
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||||
@@ -56,6 +56,8 @@
|
@@ -56,6 +56,8 @@
|
||||||
|
|
||||||
#include <QtCore/qstringlist.h>
|
#include <QtCore/qstringlist.h>
|
||||||
@ -234,19 +234,11 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersu
|
|||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||||
@@ -41,6 +41,7 @@
|
@@ -65,10 +65,36 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
|
||||||
|
|
||||||
#include "qcupsprintersupport_p.h"
|
|
||||||
|
|
||||||
+#include "qcupsprintersupport_p.h"
|
|
||||||
#include <QtCore/QMimeDatabase>
|
|
||||||
#include <qdebug.h>
|
|
||||||
|
|
||||||
@@ -65,10 +66,36 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
|
|
||||||
if (parts.size() > 1)
|
if (parts.size() > 1)
|
||||||
m_cupsInstance = parts.at(1).toUtf8();
|
m_cupsInstance = parts.at(1).toUtf8();
|
||||||
|
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
From dc5362ac7d766a9c1b4ae328bc6ce8a1aa332773 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
||||||
Date: Fri, 6 Sep 2019 10:54:44 +0200
|
|
||||||
Subject: [PATCH] Fix CMake config files for -libdir different from "lib"
|
|
||||||
|
|
||||||
When Qt was configured with -libdir different from "lib", one could not
|
|
||||||
build with CMake whenever a static lib was pulled in (e.g. uitools).
|
|
||||||
|
|
||||||
Do not hard-code "/lib" but use the correct variable also for static
|
|
||||||
libraries.
|
|
||||||
|
|
||||||
Fixes: QTBUG-76255
|
|
||||||
Change-Id: I28c6861752e29e461247628d2b1f8a9ec32f0790
|
|
||||||
---
|
|
||||||
mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
|
||||||
index d4fd057682..f4a34d6e48 100644
|
|
||||||
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
|
||||||
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
|
|
||||||
@@ -53,7 +53,11 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
|
|
||||||
set(_lib_deps)
|
|
||||||
set(_link_flags)
|
|
||||||
|
|
||||||
- get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE)
|
|
||||||
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
|
|
||||||
+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
|
|
||||||
+!!ELSE
|
|
||||||
+ set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
|
|
||||||
+!!ENDIF
|
|
||||||
|
|
||||||
if(EXISTS \"${prl_file_location}\")
|
|
||||||
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
From a69373ff735e1ae3e14b5a05a08e4aebf9216185 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dmitry Kazakov <dimula73@gmail.com>
|
|
||||||
Date: Thu, 6 Dec 2018 16:16:27 +0300
|
|
||||||
Subject: [PATCH 1/3] Fix notification of QDockWidget when it gets undocked
|
|
||||||
|
|
||||||
Before the patch the notification was emitted only when the docker
|
|
||||||
was attached to the panel or changed a position on it.
|
|
||||||
|
|
||||||
It looks like the old behavior was documented in a unittest,
|
|
||||||
so this patch might actually be a "behavior change".
|
|
||||||
|
|
||||||
Change-Id: Id3ffbd2018a8e68844d174328dd1c4ceb7fa01d3
|
|
||||||
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
||||||
---
|
|
||||||
src/widgets/widgets/qdockwidget.cpp | 2 ++
|
|
||||||
tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp | 6 +++++-
|
|
||||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
|
|
||||||
index 4041c730b8..f98e0e44db 100644
|
|
||||||
--- a/src/widgets/widgets/qdockwidget.cpp
|
|
||||||
+++ b/src/widgets/widgets/qdockwidget.cpp
|
|
||||||
@@ -1182,6 +1182,8 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
|
|
||||||
QMainWindowLayout *mwlayout = qt_mainwindow_layout_from_dock(q);
|
|
||||||
if (mwlayout)
|
|
||||||
emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
|
|
||||||
+ } else {
|
|
||||||
+ emit q->dockLocationChanged(Qt::NoDockWidgetArea);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
|
|
||||||
index f8ce6a2c0a..625116654d 100644
|
|
||||||
--- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
|
|
||||||
+++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
|
|
||||||
@@ -670,7 +670,11 @@ void tst_QDockWidget::dockLocationChanged()
|
|
||||||
spy.clear();
|
|
||||||
|
|
||||||
dw.setFloating(true);
|
|
||||||
- QTest::qWait(100);
|
|
||||||
+ QTRY_COMPARE(spy.count(), 1);
|
|
||||||
+ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
|
|
||||||
+ Qt::NoDockWidgetArea);
|
|
||||||
+ spy.clear();
|
|
||||||
+
|
|
||||||
dw.setFloating(false);
|
|
||||||
QTRY_COMPARE(spy.count(), 1);
|
|
||||||
QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
From edc15323b4ef13a2a58ba4bebd46a78449b628ee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Antonio Larrosa <alarrosa@suse.com>
|
|
||||||
Date: Fri, 21 Dec 2018 12:33:39 +0100
|
|
||||||
Subject: [PATCH] Fix qfloat16 methods definition without declaration when
|
|
||||||
using Q_QDOC
|
|
||||||
|
|
||||||
This fixes qtdoc failing to build on i586 because of an assertion in
|
|
||||||
libclang since Q_QDOC is defined and thus the declaration of the
|
|
||||||
qfloat16(float) constructor and operator float() are removed, thus
|
|
||||||
their definitions should be removed too, which is what this patch
|
|
||||||
does.
|
|
||||||
|
|
||||||
This patch was done together with Michal Srb <msrb@suse.com>.
|
|
||||||
|
|
||||||
Fixes: QTBUG-72725
|
|
||||||
|
|
||||||
Change-Id: I6424873425d46345e09f411f9ce88f2520825da4
|
|
||||||
---
|
|
||||||
src/corelib/global/qfloat16.h | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
Index: qtbase-everywhere-src-5.12.1/src/corelib/global/qfloat16.h
|
|
||||||
===================================================================
|
|
||||||
--- qtbase-everywhere-src-5.12.1.orig/src/corelib/global/qfloat16.h
|
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/corelib/global/qfloat16.h
|
|
||||||
@@ -207,6 +207,7 @@ QF16_MAKE_ARITH_OP_INT(*)
|
|
||||||
QF16_MAKE_ARITH_OP_INT(/)
|
|
||||||
#undef QF16_MAKE_ARITH_OP_INT
|
|
||||||
|
|
||||||
+#ifndef Q_QDOC
|
|
||||||
QT_WARNING_PUSH
|
|
||||||
QT_WARNING_DISABLE_CLANG("-Wfloat-equal")
|
|
||||||
QT_WARNING_DISABLE_GCC("-Wfloat-equal")
|
|
||||||
@@ -254,6 +255,7 @@ Q_REQUIRED_RESULT inline bool qFuzzyIsNu
|
|
||||||
{
|
|
||||||
return qAbs(static_cast<float>(f)) <= 0.001f;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From c09cf578bd7267b867326101cd2d0f39e7c814fe Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Faure <david.faure@kdab.com>
|
|
||||||
Date: Mon, 9 Sep 2019 18:12:26 +0200
|
|
||||||
Subject: [PATCH] QWidget::setFocusProxy: adjust focus widget properly
|
|
||||||
|
|
||||||
My commit 3e7463411e adjusted the focus widget by setting
|
|
||||||
QApplicationPrivate::focus_widget directly, while there is a method for
|
|
||||||
doing this properly, including setFocus_sys() and emitting signals.
|
|
||||||
|
|
||||||
Fixes: QTBUG-77364
|
|
||||||
Change-Id: I218acf7a9de39173d282ced46def4f65594f80b4
|
|
||||||
---
|
|
||||||
src/widgets/kernel/qwidget.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
|
|
||||||
index cf5a81c204..6889c2e9e5 100644
|
|
||||||
--- a/src/widgets/kernel/qwidget.cpp
|
|
||||||
+++ b/src/widgets/kernel/qwidget.cpp
|
|
||||||
@@ -6204,7 +6204,7 @@ void QWidget::setFocusProxy(QWidget * w)
|
|
||||||
|
|
||||||
if (changingAppFocusWidget) {
|
|
||||||
QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy();
|
|
||||||
- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this;
|
|
||||||
+ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.22.0
|
|
||||||
|
|
@ -19,11 +19,11 @@ This reverts commit 461ef575bcf778ba24b0be6b775098d4b80ae5e1.
|
|||||||
.../qsqltablemodel/tst_qsqltablemodel.cpp | 10 ++
|
.../qsqltablemodel/tst_qsqltablemodel.cpp | 10 ++
|
||||||
11 files changed, 106 insertions(+), 138 deletions(-)
|
11 files changed, 106 insertions(+), 138 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||||
index febbe58506..80c0c9c522 100644
|
===================================================================
|
||||||
--- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||||
+++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
|
||||||
@@ -1551,7 +1551,7 @@ QSqlIndex QMYSQLDriver::primaryIndex(const QString& tablename) const
|
@@ -1551,7 +1551,7 @@ QSqlIndex QMYSQLDriver::primaryIndex(con
|
||||||
QSqlQuery i(createResult());
|
QSqlQuery i(createResult());
|
||||||
QString stmt(QLatin1String("show index from %1;"));
|
QString stmt(QLatin1String("show index from %1;"));
|
||||||
QSqlRecord fil = record(tablename);
|
QSqlRecord fil = record(tablename);
|
||||||
@ -32,11 +32,11 @@ index febbe58506..80c0c9c522 100644
|
|||||||
while (i.isActive() && i.next()) {
|
while (i.isActive() && i.next()) {
|
||||||
if (i.value(2).toString() == QLatin1String("PRIMARY")) {
|
if (i.value(2).toString() == QLatin1String("PRIMARY")) {
|
||||||
idx.append(fil.field(i.value(4).toString()));
|
idx.append(fil.field(i.value(4).toString()));
|
||||||
diff --git a/src/plugins/sqldrivers/psql/qsql_psql.cpp b/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
||||||
index c1be91cb22..7abd1f242b 100644
|
===================================================================
|
||||||
--- a/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
||||||
+++ b/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/plugins/sqldrivers/psql/qsql_psql.cpp
|
||||||
@@ -1396,8 +1396,16 @@ QSqlIndex QPSQLDriver::primaryIndex(const QString &tablename) const
|
@@ -1402,8 +1402,16 @@ QSqlIndex QPSQLDriver::primaryIndex(cons
|
||||||
QString tbl = tablename;
|
QString tbl = tablename;
|
||||||
QString schema;
|
QString schema;
|
||||||
qSplitTableName(tbl, schema);
|
qSplitTableName(tbl, schema);
|
||||||
@ -55,7 +55,7 @@ index c1be91cb22..7abd1f242b 100644
|
|||||||
|
|
||||||
QString stmt = QStringLiteral("SELECT pg_attribute.attname, pg_attribute.atttypid::int, "
|
QString stmt = QStringLiteral("SELECT pg_attribute.attname, pg_attribute.atttypid::int, "
|
||||||
"pg_class.relname "
|
"pg_class.relname "
|
||||||
@@ -1432,8 +1440,16 @@ QSqlRecord QPSQLDriver::record(const QString &tablename) const
|
@@ -1438,8 +1446,16 @@ QSqlRecord QPSQLDriver::record(const QSt
|
||||||
QString tbl = tablename;
|
QString tbl = tablename;
|
||||||
QString schema;
|
QString schema;
|
||||||
qSplitTableName(tbl, schema);
|
qSplitTableName(tbl, schema);
|
||||||
@ -72,12 +72,12 @@ index c1be91cb22..7abd1f242b 100644
|
|||||||
+ else
|
+ else
|
||||||
+ schema = std::move(schema).toLower();
|
+ schema = std::move(schema).toLower();
|
||||||
|
|
||||||
QString stmt = QStringLiteral("SELECT pg_attribute.attname, pg_attribute.atttypid::int, "
|
const QString adsrc = protocol() < Version8
|
||||||
"pg_attribute.attnotnull, pg_attribute.attlen, pg_attribute.atttypmod, "
|
? QStringLiteral("pg_attrdef.adsrc")
|
||||||
diff --git a/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc b/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
||||||
index 9709deeccb..d127bdf8a5 100644
|
===================================================================
|
||||||
--- a/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
||||||
+++ b/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/sql/doc/snippets/code/doc_src_sql-driver.qdoc
|
||||||
@@ -237,16 +237,3 @@ Could not create database object
|
@@ -237,16 +237,3 @@ Could not create database object
|
||||||
//! [38]
|
//! [38]
|
||||||
QPSQLDriver::getResult: Query results lost - probably discarded on executing another SQL query.
|
QPSQLDriver::getResult: Query results lost - probably discarded on executing another SQL query.
|
||||||
@ -95,10 +95,10 @@ index 9709deeccb..d127bdf8a5 100644
|
|||||||
-// Call toLower() on the string so that it can be matched
|
-// Call toLower() on the string so that it can be matched
|
||||||
-QSqlRecord rec = database.record(tableString.toLower());
|
-QSqlRecord rec = database.record(tableString.toLower());
|
||||||
-//! [40]
|
-//! [40]
|
||||||
diff --git a/src/sql/doc/src/sql-driver.qdoc b/src/sql/doc/src/sql-driver.qdoc
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/sql/doc/src/sql-driver.qdoc
|
||||||
index cccce48bb3..fd95e89812 100644
|
===================================================================
|
||||||
--- a/src/sql/doc/src/sql-driver.qdoc
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/sql/doc/src/sql-driver.qdoc
|
||||||
+++ b/src/sql/doc/src/sql-driver.qdoc
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/sql/doc/src/sql-driver.qdoc
|
||||||
@@ -381,23 +381,6 @@
|
@@ -381,23 +381,6 @@
|
||||||
multibyte enabled PostgreSQL server can be found in the PostgreSQL
|
multibyte enabled PostgreSQL server can be found in the PostgreSQL
|
||||||
Administrator Guide, Chapter 5.
|
Administrator Guide, Chapter 5.
|
||||||
@ -123,11 +123,11 @@ index cccce48bb3..fd95e89812 100644
|
|||||||
\section3 QPSQL BLOB Support
|
\section3 QPSQL BLOB Support
|
||||||
|
|
||||||
Binary Large Objects are supported through the \c BYTEA field type in
|
Binary Large Objects are supported through the \c BYTEA field type in
|
||||||
diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/sql/kernel/qsqldatabase.cpp
|
||||||
index d63a9e59a8..12ab9671b5 100644
|
===================================================================
|
||||||
--- a/src/sql/kernel/qsqldatabase.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/sql/kernel/qsqldatabase.cpp
|
||||||
+++ b/src/sql/kernel/qsqldatabase.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/sql/kernel/qsqldatabase.cpp
|
||||||
@@ -1088,11 +1088,6 @@ QStringList QSqlDatabase::tables(QSql::TableType type) const
|
@@ -1096,11 +1096,6 @@ QStringList QSqlDatabase::tables(QSql::T
|
||||||
Returns the primary index for table \a tablename. If no primary
|
Returns the primary index for table \a tablename. If no primary
|
||||||
index exists, an empty QSqlIndex is returned.
|
index exists, an empty QSqlIndex is returned.
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ index d63a9e59a8..12ab9671b5 100644
|
|||||||
\sa tables(), record()
|
\sa tables(), record()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1107,11 +1102,6 @@ QSqlIndex QSqlDatabase::primaryIndex(const QString& tablename) const
|
@@ -1115,11 +1110,6 @@ QSqlIndex QSqlDatabase::primaryIndex(con
|
||||||
the table (or view) called \a tablename. The order in which the
|
the table (or view) called \a tablename. The order in which the
|
||||||
fields appear in the record is undefined. If no such table (or
|
fields appear in the record is undefined. If no such table (or
|
||||||
view) exists, an empty record is returned.
|
view) exists, an empty record is returned.
|
||||||
@ -151,11 +151,11 @@ index d63a9e59a8..12ab9671b5 100644
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
QSqlRecord QSqlDatabase::record(const QString& tablename) const
|
QSqlRecord QSqlDatabase::record(const QString& tablename) const
|
||||||
diff --git a/src/sql/kernel/qsqldriver.cpp b/src/sql/kernel/qsqldriver.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/src/sql/kernel/qsqldriver.cpp
|
||||||
index 7f7b81b05b..8c6ae382f6 100644
|
===================================================================
|
||||||
--- a/src/sql/kernel/qsqldriver.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/src/sql/kernel/qsqldriver.cpp
|
||||||
+++ b/src/sql/kernel/qsqldriver.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/src/sql/kernel/qsqldriver.cpp
|
||||||
@@ -488,8 +488,6 @@ QString QSqlDriver::stripDelimiters(const QString &identifier, IdentifierType ty
|
@@ -488,8 +488,6 @@ QString QSqlDriver::stripDelimiters(cons
|
||||||
QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName,
|
QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName,
|
||||||
const QSqlRecord &rec, bool preparedStatement) const
|
const QSqlRecord &rec, bool preparedStatement) const
|
||||||
{
|
{
|
||||||
@ -164,7 +164,7 @@ index 7f7b81b05b..8c6ae382f6 100644
|
|||||||
int i;
|
int i;
|
||||||
QString s;
|
QString s;
|
||||||
s.reserve(128);
|
s.reserve(128);
|
||||||
@@ -502,12 +500,13 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName,
|
@@ -502,12 +500,13 @@ QString QSqlDriver::sqlStatement(Stateme
|
||||||
if (s.isEmpty())
|
if (s.isEmpty())
|
||||||
return s;
|
return s;
|
||||||
s.chop(2);
|
s.chop(2);
|
||||||
@ -181,7 +181,7 @@ index 7f7b81b05b..8c6ae382f6 100644
|
|||||||
for (int i = 0; i < rec.count(); ++i) {
|
for (int i = 0; i < rec.count(); ++i) {
|
||||||
if (!rec.isGenerated(i))
|
if (!rec.isGenerated(i))
|
||||||
continue;
|
continue;
|
||||||
@@ -524,7 +523,8 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName,
|
@@ -524,7 +523,8 @@ QString QSqlDriver::sqlStatement(Stateme
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case UpdateStatement:
|
case UpdateStatement:
|
||||||
@ -191,7 +191,7 @@ index 7f7b81b05b..8c6ae382f6 100644
|
|||||||
for (i = 0; i < rec.count(); ++i) {
|
for (i = 0; i < rec.count(); ++i) {
|
||||||
if (!rec.isGenerated(i))
|
if (!rec.isGenerated(i))
|
||||||
continue;
|
continue;
|
||||||
@@ -541,10 +541,10 @@ QString QSqlDriver::sqlStatement(StatementType type, const QString &tableName,
|
@@ -541,10 +541,10 @@ QString QSqlDriver::sqlStatement(Stateme
|
||||||
s.clear();
|
s.clear();
|
||||||
break;
|
break;
|
||||||
case DeleteStatement:
|
case DeleteStatement:
|
||||||
@ -204,11 +204,11 @@ index 7f7b81b05b..8c6ae382f6 100644
|
|||||||
QString vals;
|
QString vals;
|
||||||
for (i = 0; i < rec.count(); ++i) {
|
for (i = 0; i < rec.count(); ++i) {
|
||||||
if (!rec.isGenerated(i))
|
if (!rec.isGenerated(i))
|
||||||
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
Index: qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
||||||
index 55875359ff..97397e3159 100644
|
===================================================================
|
||||||
--- a/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
||||||
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
+++ qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqldatabase/tst_databases.h
|
||||||
@@ -79,14 +79,14 @@ inline QString fixupTableName(const QString &tableName, QSqlDatabase db)
|
@@ -80,14 +80,14 @@ inline QString fixupTableName(const QStr
|
||||||
return tbName;
|
return tbName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,11 +230,11 @@ index 55875359ff..97397e3159 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline static QString qTableName(const QString& prefix, QSqlDatabase db)
|
inline static QString qTableName(const QString& prefix, QSqlDatabase db)
|
||||||
diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
||||||
index f309231b10..75db31e45f 100644
|
===================================================================
|
||||||
--- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
||||||
+++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp
|
||||||
@@ -314,8 +314,10 @@ void tst_QSqlDatabase::createTestTables(QSqlDatabase db)
|
@@ -314,8 +314,10 @@ void tst_QSqlDatabase::createTestTables(
|
||||||
" (id integer not null, t_varchar varchar(40) not null, "
|
" (id integer not null, t_varchar varchar(40) not null, "
|
||||||
"t_char char(40), t_numeric numeric(6, 3), primary key (id, t_varchar))"));
|
"t_char char(40), t_numeric numeric(6, 3), primary key (id, t_varchar))"));
|
||||||
}
|
}
|
||||||
@ -246,7 +246,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
+ '('
|
+ '('
|
||||||
+ db.driver()->escapeIdentifier(QLatin1String("test test"), QSqlDriver::FieldName)
|
+ db.driver()->escapeIdentifier(QLatin1String("test test"), QSqlDriver::FieldName)
|
||||||
+ " int not null primary key)";
|
+ " int not null primary key)";
|
||||||
@@ -339,7 +341,6 @@ void tst_QSqlDatabase::dropTestTables(QSqlDatabase db)
|
@@ -339,7 +341,6 @@ void tst_QSqlDatabase::dropTestTables(QS
|
||||||
const QString qtestTable = qTableName("qtest", __FILE__, db);
|
const QString qtestTable = qTableName("qtest", __FILE__, db);
|
||||||
QStringList tableNames;
|
QStringList tableNames;
|
||||||
tableNames << qtestTable
|
tableNames << qtestTable
|
||||||
@ -265,7 +265,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
|
|
||||||
bool views = true;
|
bool views = true;
|
||||||
bool tempTables = false;
|
bool tempTables = false;
|
||||||
@@ -579,10 +578,10 @@ void tst_QSqlDatabase::whitespaceInIdentifiers()
|
@@ -579,10 +578,10 @@ void tst_QSqlDatabase::whitespaceInIdent
|
||||||
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
|
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
|
||||||
|
|
||||||
if (testWhiteSpaceNames(db.driverName())) {
|
if (testWhiteSpaceNames(db.driverName())) {
|
||||||
@ -278,7 +278,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
QCOMPARE(rec.count(), 1);
|
QCOMPARE(rec.count(), 1);
|
||||||
QCOMPARE(rec.fieldName(0), QString("test test"));
|
QCOMPARE(rec.fieldName(0), QString("test test"));
|
||||||
if (dbType == QSqlDriver::Oracle)
|
if (dbType == QSqlDriver::Oracle)
|
||||||
@@ -590,7 +589,7 @@ void tst_QSqlDatabase::whitespaceInIdentifiers()
|
@@ -590,7 +589,7 @@ void tst_QSqlDatabase::whitespaceInIdent
|
||||||
else
|
else
|
||||||
QCOMPARE(rec.field(0).type(), QVariant::Int);
|
QCOMPARE(rec.field(0).type(), QVariant::Int);
|
||||||
|
|
||||||
@ -310,7 +310,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
|
|
||||||
QCOMPARE((int)rec.count(), 2);
|
QCOMPARE((int)rec.count(), 2);
|
||||||
|
|
||||||
@@ -683,16 +681,13 @@ void tst_QSqlDatabase::testRecord(const FieldDef fieldDefs[], const QSqlRecord&
|
@@ -683,16 +681,13 @@ void tst_QSqlDatabase::testRecord(const
|
||||||
void tst_QSqlDatabase::commonFieldTest(const FieldDef fieldDefs[], QSqlDatabase db, const int fieldCount)
|
void tst_QSqlDatabase::commonFieldTest(const FieldDef fieldDefs[], QSqlDatabase db, const int fieldCount)
|
||||||
{
|
{
|
||||||
CHECK_DATABASE(db);
|
CHECK_DATABASE(db);
|
||||||
@ -420,7 +420,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
QCOMPARE(idx.count(), 1);
|
QCOMPARE(idx.count(), 1);
|
||||||
QCOMPARE(idx.fieldName(0), QString("id"));
|
QCOMPARE(idx.fieldName(0), QString("id"));
|
||||||
}
|
}
|
||||||
@@ -1304,21 +1288,18 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
|
@@ -1304,21 +1288,18 @@ void tst_QSqlDatabase::psql_escapedIdent
|
||||||
QSqlQuery q(db);
|
QSqlQuery q(db);
|
||||||
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
|
QVERIFY_SQL( q, exec("set client_min_messages='warning'"));
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
|
|
||||||
QSqlField fld1(field1Name, QVariant::Int);
|
QSqlField fld1(field1Name, QVariant::Int);
|
||||||
QSqlField fld2(field2Name, QVariant::String);
|
QSqlField fld2(field2Name, QVariant::String);
|
||||||
@@ -1326,9 +1307,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
|
@@ -1326,9 +1307,7 @@ void tst_QSqlDatabase::psql_escapedIdent
|
||||||
rec.append(fld1);
|
rec.append(fld1);
|
||||||
rec.append(fld2);
|
rec.append(fld2);
|
||||||
|
|
||||||
@ -458,7 +458,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
|
|
||||||
rec = q.record();
|
rec = q.record();
|
||||||
QCOMPARE(rec.count(), 2);
|
QCOMPARE(rec.count(), 2);
|
||||||
@@ -1336,7 +1315,7 @@ void tst_QSqlDatabase::psql_escapedIdentifiers()
|
@@ -1336,7 +1315,7 @@ void tst_QSqlDatabase::psql_escapedIdent
|
||||||
QCOMPARE(rec.fieldName(1), field2Name);
|
QCOMPARE(rec.fieldName(1), field2Name);
|
||||||
QCOMPARE(rec.field(0).type(), QVariant::Int);
|
QCOMPARE(rec.field(0).type(), QVariant::Int);
|
||||||
|
|
||||||
@ -467,7 +467,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
void tst_QSqlDatabase::psql_escapeBytea()
|
void tst_QSqlDatabase::psql_escapeBytea()
|
||||||
@@ -2167,7 +2146,7 @@ void tst_QSqlDatabase::eventNotificationPSQL()
|
@@ -2167,7 +2146,7 @@ void tst_QSqlDatabase::eventNotification
|
||||||
CHECK_DATABASE(db);
|
CHECK_DATABASE(db);
|
||||||
|
|
||||||
QSqlQuery query(db);
|
QSqlQuery query(db);
|
||||||
@ -476,7 +476,7 @@ index f309231b10..75db31e45f 100644
|
|||||||
QString payload = "payload";
|
QString payload = "payload";
|
||||||
QSqlDriver &driver=*(db.driver());
|
QSqlDriver &driver=*(db.driver());
|
||||||
QVERIFY_SQL(driver, subscribeToNotification(procedureName));
|
QVERIFY_SQL(driver, subscribeToNotification(procedureName));
|
||||||
@@ -2191,22 +2170,21 @@ void tst_QSqlDatabase::eventNotificationSQLite()
|
@@ -2191,22 +2170,21 @@ void tst_QSqlDatabase::eventNotification
|
||||||
QSKIP("QSQLITE specific test");
|
QSKIP("QSQLITE specific test");
|
||||||
}
|
}
|
||||||
const QString tableName(qTableName("sqlitnotifytest", __FILE__, db));
|
const QString tableName(qTableName("sqlitnotifytest", __FILE__, db));
|
||||||
@ -503,11 +503,11 @@ index f309231b10..75db31e45f 100644
|
|||||||
QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)"));
|
QVERIFY_SQL(q, exec("INSERT INTO " + tableName + " (id, realVal) VALUES (1, 2.3)"));
|
||||||
QTRY_COMPARE(notificationSpy.count(), 0);
|
QTRY_COMPARE(notificationSpy.count(), 0);
|
||||||
QTRY_COMPARE(notificationSpyExt.count(), 0);
|
QTRY_COMPARE(notificationSpyExt.count(), 0);
|
||||||
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
||||||
index 784d0a70d7..710f26b72d 100644
|
===================================================================
|
||||||
--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
||||||
+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
|
||||||
@@ -1098,7 +1098,7 @@ void tst_QSqlQuery::record()
|
@@ -1092,7 +1092,7 @@ void tst_QSqlQuery::record()
|
||||||
for (int i = 0; i < 3; ++i)
|
for (int i = 0; i < 3; ++i)
|
||||||
QCOMPARE(q.record().field(i).tableName().toLower(), lowerQTest);
|
QCOMPARE(q.record().field(i).tableName().toLower(), lowerQTest);
|
||||||
q.clear();
|
q.clear();
|
||||||
@ -516,7 +516,7 @@ index 784d0a70d7..710f26b72d 100644
|
|||||||
SETUP_RECORD_TABLE;
|
SETUP_RECORD_TABLE;
|
||||||
CHECK_RECORD;
|
CHECK_RECORD;
|
||||||
q.clear();
|
q.clear();
|
||||||
@@ -3763,13 +3763,15 @@ void tst_QSqlQuery::QTBUG_5251()
|
@@ -3673,13 +3673,15 @@ void tst_QSqlQuery::QTBUG_5251()
|
||||||
const QString timetest(qTableName("timetest", __FILE__, db));
|
const QString timetest(qTableName("timetest", __FILE__, db));
|
||||||
tst_Databases::safeDropTable(db, timetest);
|
tst_Databases::safeDropTable(db, timetest);
|
||||||
QSqlQuery q(db);
|
QSqlQuery q(db);
|
||||||
@ -535,7 +535,7 @@ index 784d0a70d7..710f26b72d 100644
|
|||||||
QVERIFY_SQL(timetestModel, select());
|
QVERIFY_SQL(timetestModel, select());
|
||||||
|
|
||||||
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("01:02:03.666"));
|
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("01:02:03.666"));
|
||||||
@@ -3778,8 +3780,8 @@ void tst_QSqlQuery::QTBUG_5251()
|
@@ -3688,8 +3690,8 @@ void tst_QSqlQuery::QTBUG_5251()
|
||||||
QVERIFY_SQL(timetestModel, submitAll());
|
QVERIFY_SQL(timetestModel, submitAll());
|
||||||
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:12:34.500"));
|
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:12:34.500"));
|
||||||
|
|
||||||
@ -546,11 +546,11 @@ index 784d0a70d7..710f26b72d 100644
|
|||||||
QVERIFY_SQL(timetestModel, select());
|
QVERIFY_SQL(timetestModel, select());
|
||||||
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:11:22.330"));
|
QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:11:22.330"));
|
||||||
|
|
||||||
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
||||||
index 722ef9c570..e4a277e096 100644
|
===================================================================
|
||||||
--- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
||||||
+++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
|
||||||
@@ -122,13 +122,13 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
|
@@ -122,13 +122,13 @@ void tst_QSqlRelationalTableModel::recre
|
||||||
QVERIFY_SQL( q, exec("insert into " + reltest5 + " values('mister', 'Mr')"));
|
QVERIFY_SQL( q, exec("insert into " + reltest5 + " values('mister', 'Mr')"));
|
||||||
|
|
||||||
if (testWhiteSpaceNames(db.driverName())) {
|
if (testWhiteSpaceNames(db.driverName())) {
|
||||||
@ -566,7 +566,7 @@ index 722ef9c570..e4a277e096 100644
|
|||||||
QVERIFY_SQL( q, exec("create table " + reltest7 + " (" + db.driver()->escapeIdentifier("city id", QSqlDriver::TableName) + " int not null primary key, " + db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName) + " varchar(20))"));
|
QVERIFY_SQL( q, exec("create table " + reltest7 + " (" + db.driver()->escapeIdentifier("city id", QSqlDriver::TableName) + " int not null primary key, " + db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName) + " varchar(20))"));
|
||||||
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(1, 'New York')"));
|
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(1, 'New York')"));
|
||||||
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(2, 'Washington')"));
|
QVERIFY_SQL( q, exec("insert into " + reltest7 + " values(2, 'Washington')"));
|
||||||
@@ -170,8 +170,8 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
|
@@ -170,8 +170,8 @@ void tst_QSqlRelationalTableModel::dropT
|
||||||
<< reltest3
|
<< reltest3
|
||||||
<< reltest4
|
<< reltest4
|
||||||
<< reltest5
|
<< reltest5
|
||||||
@ -577,7 +577,7 @@ index 722ef9c570..e4a277e096 100644
|
|||||||
<< qTableName("CASETEST1", db)
|
<< qTableName("CASETEST1", db)
|
||||||
<< qTableName("casetest1", db);
|
<< qTableName("casetest1", db);
|
||||||
tst_Databases::safeDropTables( db, tableNames );
|
tst_Databases::safeDropTables( db, tableNames );
|
||||||
@@ -1379,9 +1379,9 @@ void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers()
|
@@ -1379,9 +1379,9 @@ void tst_QSqlRelationalTableModel::white
|
||||||
if (!testWhiteSpaceNames(db.driverName()))
|
if (!testWhiteSpaceNames(db.driverName()))
|
||||||
QSKIP("White space test irrelevant for driver");
|
QSKIP("White space test irrelevant for driver");
|
||||||
QSqlRelationalTableModel model(0, db);
|
QSqlRelationalTableModel model(0, db);
|
||||||
@ -589,7 +589,7 @@ index 722ef9c570..e4a277e096 100644
|
|||||||
db.driver()->escapeIdentifier("city id", QSqlDriver::FieldName),
|
db.driver()->escapeIdentifier("city id", QSqlDriver::FieldName),
|
||||||
db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName)));
|
db.driver()->escapeIdentifier("city name", QSqlDriver::FieldName)));
|
||||||
QVERIFY_SQL(model, select());
|
QVERIFY_SQL(model, select());
|
||||||
@@ -1547,6 +1547,8 @@ void tst_QSqlRelationalTableModel::relationOnFirstColumn()
|
@@ -1547,6 +1547,8 @@ void tst_QSqlRelationalTableModel::relat
|
||||||
|
|
||||||
//modify the model data
|
//modify the model data
|
||||||
QVERIFY_SQL(model, setData(model.index(0, 0), 40));
|
QVERIFY_SQL(model, setData(model.index(0, 0), 40));
|
||||||
@ -598,11 +598,11 @@ index 722ef9c570..e4a277e096 100644
|
|||||||
QVERIFY_SQL(model, submit());
|
QVERIFY_SQL(model, submit());
|
||||||
QVERIFY_SQL(model, setData(model.index(1, 0), 50));
|
QVERIFY_SQL(model, setData(model.index(1, 0), 50));
|
||||||
QVERIFY_SQL(model, submit());
|
QVERIFY_SQL(model, submit());
|
||||||
diff --git a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
Index: qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
||||||
index b617151a36..da31f437d9 100644
|
===================================================================
|
||||||
--- a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
--- qtbase-everywhere-src-5.14.0-beta2.orig/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
||||||
+++ b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
+++ qtbase-everywhere-src-5.14.0-beta2/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp
|
||||||
@@ -383,6 +383,8 @@ void tst_QSqlTableModel::selectRow()
|
@@ -384,6 +384,8 @@ void tst_QSqlTableModel::selectRow()
|
||||||
q.exec("UPDATE " + tbl + " SET a = 'Qt' WHERE id = 1");
|
q.exec("UPDATE " + tbl + " SET a = 'Qt' WHERE id = 1");
|
||||||
QCOMPARE(model.data(idx).toString(), QString("b"));
|
QCOMPARE(model.data(idx).toString(), QString("b"));
|
||||||
model.selectRow(1);
|
model.selectRow(1);
|
||||||
@ -611,7 +611,7 @@ index b617151a36..da31f437d9 100644
|
|||||||
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
||||||
|
|
||||||
// Check if selectRow() refreshes a changed row.
|
// Check if selectRow() refreshes a changed row.
|
||||||
@@ -439,6 +441,8 @@ void tst_QSqlTableModel::selectRowOverride()
|
@@ -440,6 +442,8 @@ void tst_QSqlTableModel::selectRowOverri
|
||||||
// both rows should have changed
|
// both rows should have changed
|
||||||
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
||||||
idx = model.index(2, 1);
|
idx = model.index(2, 1);
|
||||||
@ -620,7 +620,7 @@ index b617151a36..da31f437d9 100644
|
|||||||
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
QCOMPARE(model.data(idx).toString(), QString("Qt"));
|
||||||
|
|
||||||
q.exec("DELETE FROM " + tbl);
|
q.exec("DELETE FROM " + tbl);
|
||||||
@@ -850,6 +854,8 @@ void tst_QSqlTableModel::insertRowFailure()
|
@@ -851,6 +855,8 @@ void tst_QSqlTableModel::insertRowFailur
|
||||||
|
|
||||||
// populate 1 row
|
// populate 1 row
|
||||||
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
|
const QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
|
||||||
@ -629,7 +629,7 @@ index b617151a36..da31f437d9 100644
|
|||||||
QVERIFY_SQL(model, insertRecord(0, values));
|
QVERIFY_SQL(model, insertRecord(0, values));
|
||||||
QVERIFY_SQL(model, submitAll());
|
QVERIFY_SQL(model, submitAll());
|
||||||
QVERIFY_SQL(model, select());
|
QVERIFY_SQL(model, select());
|
||||||
@@ -893,6 +899,8 @@ void tst_QSqlTableModel::insertRowFailure()
|
@@ -894,6 +900,8 @@ void tst_QSqlTableModel::insertRowFailur
|
||||||
// restore empty table
|
// restore empty table
|
||||||
model.revertAll();
|
model.revertAll();
|
||||||
QVERIFY_SQL(model, removeRow(0));
|
QVERIFY_SQL(model, removeRow(0));
|
||||||
@ -638,7 +638,7 @@ index b617151a36..da31f437d9 100644
|
|||||||
QVERIFY_SQL(model, submitAll());
|
QVERIFY_SQL(model, submitAll());
|
||||||
QVERIFY_SQL(model, select());
|
QVERIFY_SQL(model, select());
|
||||||
QCOMPARE(model.rowCount(), 0);
|
QCOMPARE(model.rowCount(), 0);
|
||||||
@@ -2001,6 +2009,8 @@ void tst_QSqlTableModel::tableModifyWithBlank()
|
@@ -2002,6 +2010,8 @@ void tst_QSqlTableModel::tableModifyWith
|
||||||
//Should be equivalent to QSqlQuery INSERT INTO... command)
|
//Should be equivalent to QSqlQuery INSERT INTO... command)
|
||||||
QVERIFY_SQL(model, insertRow(0));
|
QVERIFY_SQL(model, insertRow(0));
|
||||||
QVERIFY_SQL(model, setData(model.index(0,0),timeString));
|
QVERIFY_SQL(model, setData(model.index(0,0),timeString));
|
||||||
@ -647,6 +647,3 @@ index b617151a36..da31f437d9 100644
|
|||||||
QVERIFY_SQL(model, submitAll());
|
QVERIFY_SQL(model, submitAll());
|
||||||
|
|
||||||
//set a filter on the table so the only record we get is the one we just made
|
//set a filter on the table so the only record we get is the one we just made
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
||||||
|
@ -0,0 +1,32 @@
|
|||||||
|
From d0ed9b07eb928c7d037b3fadb7423c87d7b798b0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
Date: Wed, 25 Dec 2019 18:54:40 +0100
|
||||||
|
Subject: [PATCH 1/3] Revert "Fix text-rendering regression on semi-transparent
|
||||||
|
background on Linux"
|
||||||
|
|
||||||
|
This reverts commit c0adcf0f226e247c1f2f515cd33d7945573e96a5.
|
||||||
|
---
|
||||||
|
src/gui/painting/qdrawhelper.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
index e8d129d047..e5f752b94e 100644
|
||||||
|
--- a/src/gui/painting/qdrawhelper.cpp
|
||||||
|
+++ b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
@@ -6044,11 +6044,11 @@ static inline void alphargbblend_argb32(quint32 *dst, uint coverage, const QRgba
|
||||||
|
// nothing
|
||||||
|
} else if (coverage == 0xffffffff && qAlpha(src) == 255) {
|
||||||
|
blend_pixel(*dst, src);
|
||||||
|
+ } else if (!colorProfile) {
|
||||||
|
+ *dst = rgbBlend(*dst, src, coverage);
|
||||||
|
} else if (*dst < 0xff000000) {
|
||||||
|
// Give up and do a naive gray alphablend. Needed to deal with ARGB32 and invalid ARGB32_premultiplied, see QTBUG-60571
|
||||||
|
blend_pixel(*dst, src, qRgbAvg(coverage));
|
||||||
|
- } else if (!colorProfile) {
|
||||||
|
- *dst = rgbBlend(*dst, src, coverage);
|
||||||
|
} else if (srcLinear.isOpaque()) {
|
||||||
|
rgbBlendPixel(dst, coverage, srcLinear, colorProfile);
|
||||||
|
} else {
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
From fa9728f19c8bf8ae925a1c99d056559b7bc84515 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
|
||||||
Date: Fri, 29 Jun 2018 09:15:51 +0200
|
|
||||||
Subject: [PATCH] Revert "QWidgetWindow: Immediately forward close events to
|
|
||||||
QWindow"
|
|
||||||
|
|
||||||
This reverts commit e0b5ff4ad583befbecbcbe462998e3ed80899531.
|
|
||||||
|
|
||||||
References: kde#395988
|
|
||||||
References: QTBUG-43344
|
|
||||||
---
|
|
||||||
src/widgets/kernel/qwidgetwindow.cpp | 1 -
|
|
||||||
.../widgets/kernel/qwidget/tst_qwidget.cpp | 28 -------------------
|
|
||||||
2 files changed, 29 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
|
|
||||||
index 1f3057b008..24e0173ac1 100644
|
|
||||||
--- a/src/widgets/kernel/qwidgetwindow.cpp
|
|
||||||
+++ b/src/widgets/kernel/qwidgetwindow.cpp
|
|
||||||
@@ -237,7 +237,6 @@ bool QWidgetWindow::event(QEvent *event)
|
|
||||||
switch (event->type()) {
|
|
||||||
case QEvent::Close:
|
|
||||||
handleCloseEvent(static_cast<QCloseEvent *>(event));
|
|
||||||
- QWindow::event(event);
|
|
||||||
return true;
|
|
||||||
|
|
||||||
case QEvent::Enter:
|
|
||||||
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
|
|
||||||
index 6a049aedf1..c7dab650fe 100644
|
|
||||||
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
|
|
||||||
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
|
|
||||||
@@ -401,8 +401,6 @@ private slots:
|
|
||||||
|
|
||||||
void tabletTracking();
|
|
||||||
|
|
||||||
- void closeEvent();
|
|
||||||
-
|
|
||||||
private:
|
|
||||||
bool ensureScreenSize(int width, int height);
|
|
||||||
|
|
||||||
@@ -10800,31 +10798,5 @@ void tst_QWidget::tabletTracking()
|
|
||||||
QTRY_COMPARE(widget.moveEventCount, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
-class CloseCountingWidget : public QWidget
|
|
||||||
-{
|
|
||||||
-public:
|
|
||||||
- int closeCount = 0;
|
|
||||||
- void closeEvent(QCloseEvent *ev) override;
|
|
||||||
-};
|
|
||||||
-
|
|
||||||
-void CloseCountingWidget::closeEvent(QCloseEvent *ev)
|
|
||||||
-{
|
|
||||||
- ++closeCount;
|
|
||||||
- ev->accept();
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-void tst_QWidget::closeEvent()
|
|
||||||
-{
|
|
||||||
- CloseCountingWidget widget;
|
|
||||||
- widget.show();
|
|
||||||
- QVERIFY(QTest::qWaitForWindowExposed(&widget));
|
|
||||||
- // Yes we call the close() function twice. This mimics the behavior of QTBUG-43344 where
|
|
||||||
- // QApplication first closes all windows and then QCocoaApplication flushes window system
|
|
||||||
- // events, triggering more close events.
|
|
||||||
- widget.windowHandle()->close();
|
|
||||||
- widget.windowHandle()->close();
|
|
||||||
- QCOMPARE(widget.closeCount, 1);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
QTEST_MAIN(tst_QWidget)
|
|
||||||
#include "tst_qwidget.moc"
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From 75bb439f45608b21781d18170a88aaa2aedefb04 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
|
||||||
Date: Fri, 9 Mar 2018 18:28:00 +0100
|
|
||||||
Subject: [PATCH 1/2] Sanitize QXcbScreen's pixelDensity values
|
|
||||||
|
|
||||||
When the monitor's EDID contains invalid values, we should catch that now
|
|
||||||
and fall back to 96dpi instead of returning unexpected values.
|
|
||||||
---
|
|
||||||
src/plugins/platforms/xcb/qxcbscreen.cpp | 10 ++++++++++
|
|
||||||
1 file changed, 10 insertions(+)
|
|
||||||
|
|
||||||
Index: qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
===================================================================
|
|
||||||
--- qtbase-everywhere-src-5.12.0-beta3.orig/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
+++ qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
@@ -752,6 +752,16 @@ void QXcbScreen::updateGeometry(const QR
|
|
||||||
qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
|
|
||||||
|
|
||||||
m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
|
|
||||||
+
|
|
||||||
+ if(m_pixelDensity > 1 && qEnvironmentVariableIsEmpty("QT_XCB_FORCE_ACCEPT_DPI")) {
|
|
||||||
+ // If we have no physical size or the resolution is untypical, fall back to 1x
|
|
||||||
+ if (physicalSize().height() <= 0
|
|
||||||
+ || geometry.height() < 1440
|
|
||||||
+ || m_pixelDensity > 3) {
|
|
||||||
+ m_pixelDensity = 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
m_geometry = geometry;
|
|
||||||
m_availableGeometry = geometry & m_virtualDesktop->workArea();
|
|
||||||
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
|
|
@ -0,0 +1,60 @@
|
|||||||
|
From a61813ac9cd94a6e7c79ccfacca9e830f905e6dc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
Date: Wed, 25 Dec 2019 18:54:52 +0100
|
||||||
|
Subject: [PATCH 2/3] Revert "Fix crash with gamma-corrected text blending
|
||||||
|
disabled"
|
||||||
|
|
||||||
|
This reverts commit 6db83e2584a30b1339adba18279fbfd527a10ce7.
|
||||||
|
---
|
||||||
|
src/gui/painting/qdrawhelper.cpp | 14 ++++----------
|
||||||
|
1 file changed, 4 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
index e5f752b94e..3d06a27d8e 100644
|
||||||
|
--- a/src/gui/painting/qdrawhelper.cpp
|
||||||
|
+++ b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
@@ -5670,8 +5670,7 @@ static inline void alphamapblend_argb32(quint32 *dst, int coverage, QRgba64 srcL
|
||||||
|
QRgb s = *dst;
|
||||||
|
blend_pixel(s, src);
|
||||||
|
// Then gamma-corrected blend with glyph shape
|
||||||
|
- QRgba64 s64 = colorProfile ? colorProfile->toLinear64(s) : QRgba64::fromArgb32(s);
|
||||||
|
- grayBlendPixel(dst, coverage, s64, colorProfile);
|
||||||
|
+ grayBlendPixel(dst, coverage, colorProfile->toLinear64(s), colorProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -5712,9 +5711,7 @@ static inline void alphamapblend_generic(int coverage, QRgba64 *dest, int x, con
|
||||||
|
QRgba64 s = dest[x];
|
||||||
|
blend_pixel(s, src);
|
||||||
|
// Then gamma-corrected blend with glyph shape
|
||||||
|
- if (colorProfile)
|
||||||
|
- s = colorProfile->toLinear(s);
|
||||||
|
- grayBlendPixel(dest[x], coverage, s, colorProfile);
|
||||||
|
+ grayBlendPixel(dest[x], coverage, colorProfile->toLinear(s), colorProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -6056,8 +6053,7 @@ static inline void alphargbblend_argb32(quint32 *dst, uint coverage, const QRgba
|
||||||
|
QRgb s = *dst;
|
||||||
|
blend_pixel(s, src);
|
||||||
|
// Then gamma-corrected blend with glyph shape
|
||||||
|
- QRgba64 s64 = colorProfile ? colorProfile->toLinear64(s) : QRgba64::fromArgb32(s);
|
||||||
|
- rgbBlendPixel(dst, coverage, s64, colorProfile);
|
||||||
|
+ rgbBlendPixel(dst, coverage, colorProfile->toLinear64(s), colorProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -6088,9 +6084,7 @@ static inline void alphargbblend_generic(uint coverage, QRgba64 *dest, int x, co
|
||||||
|
QRgba64 s = dest[x];
|
||||||
|
blend_pixel(s, src);
|
||||||
|
// Then gamma-corrected blend with glyph shape
|
||||||
|
- if (colorProfile)
|
||||||
|
- s = colorProfile->toLinear(s);
|
||||||
|
- rgbBlendPixel(dest[x], coverage, s, colorProfile);
|
||||||
|
+ rgbBlendPixel(dest[x], coverage, colorProfile->toLinear(s), colorProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
From 267ab09b87dd7e2ae7dd3e85a76398506e7f1ae9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
|
||||||
Date: Wed, 25 Apr 2018 18:34:01 +0200
|
|
||||||
Subject: [PATCH 2/2] xcb: Use the screen's physical DPI as logical DPI, unless
|
|
||||||
overwritten
|
|
||||||
|
|
||||||
The size of the virtual screen is most of the time meaningless, as X fakes it
|
|
||||||
to result in 96 DPI, irregardless of the actual monitor DPI.
|
|
||||||
|
|
||||||
This results in wrong font rendering on non-96 DPI monitors.
|
|
||||||
|
|
||||||
Task-number: QTBUG-67928
|
|
||||||
---
|
|
||||||
src/plugins/platforms/xcb/qxcbscreen.cpp | 10 +++++++++-
|
|
||||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
Index: qtbase-everywhere-src-5.13.1/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
===================================================================
|
|
||||||
--- qtbase-everywhere-src-5.13.1.orig/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
+++ qtbase-everywhere-src-5.13.1/src/plugins/platforms/xcb/qxcbscreen.cpp
|
|
||||||
@@ -676,7 +676,14 @@ QDpi QXcbScreen::logicalDpi() const
|
|
||||||
if (forcedDpi > 0)
|
|
||||||
return QDpi(forcedDpi, forcedDpi);
|
|
||||||
|
|
||||||
- return m_virtualDesktop->dpi();
|
|
||||||
+ // By default, X fakes the virtual size to be 96 dpi (+-rounding),
|
|
||||||
+ // so if it's different the user overwrote it.
|
|
||||||
+ if (qRound(m_virtualDesktop->dpi().first) != 96 ||
|
|
||||||
+ qRound(m_virtualDesktop->dpi().second) != 96) {
|
|
||||||
+ return m_virtualDesktop->dpi();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return QDpi(m_pixelDensity * 96, m_pixelDensity * 96);
|
|
||||||
}
|
|
||||||
|
|
||||||
qreal QXcbScreen::pixelDensity() const
|
|
336
0003-Revert-Handle-transparent-pen-color-in-fast-text-pat.patch
Normal file
336
0003-Revert-Handle-transparent-pen-color-in-fast-text-pat.patch
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
From 84a71a1b9e600dc641e7ace5a6b384c0e138753e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
Date: Wed, 25 Dec 2019 18:55:01 +0100
|
||||||
|
Subject: [PATCH 3/3] Revert "Handle transparent pen color in fast text path"
|
||||||
|
|
||||||
|
This reverts commit d0d18b06458edd3b6b0712ea71c787404bbaa7e1.
|
||||||
|
---
|
||||||
|
src/gui/painting/qdrawhelper.cpp | 187 +++++++++++------------
|
||||||
|
src/gui/painting/qdrawhelper_p.h | 2 -
|
||||||
|
src/gui/painting/qpaintengine_raster.cpp | 4 +-
|
||||||
|
src/gui/painting/qrgba64_p.h | 2 -
|
||||||
|
4 files changed, 94 insertions(+), 101 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
index 3d06a27d8e..edb363ac69 100644
|
||||||
|
--- a/src/gui/painting/qdrawhelper.cpp
|
||||||
|
+++ b/src/gui/painting/qdrawhelper.cpp
|
||||||
|
@@ -5658,60 +5658,44 @@ static inline void alphamapblend_argb32(quint32 *dst, int coverage, QRgba64 srcL
|
||||||
|
{
|
||||||
|
if (coverage == 0) {
|
||||||
|
// nothing
|
||||||
|
- } else if (coverage == 255 || !colorProfile) {
|
||||||
|
- blend_pixel(*dst, src, coverage);
|
||||||
|
- } else if (*dst < 0xff000000) {
|
||||||
|
- // Give up and do a naive gray alphablend. Needed to deal with ARGB32 and invalid ARGB32_premultiplied, see QTBUG-60571
|
||||||
|
- blend_pixel(*dst, src, coverage);
|
||||||
|
- } else if (src >= 0xff000000) {
|
||||||
|
- grayBlendPixel(dst, coverage, srcLinear, colorProfile);
|
||||||
|
+ } else if (coverage == 255) {
|
||||||
|
+ *dst = src;
|
||||||
|
+ } else if (!colorProfile) {
|
||||||
|
+ *dst = INTERPOLATE_PIXEL_255(src, coverage, *dst, 255 - coverage);
|
||||||
|
} else {
|
||||||
|
- // First do naive blend with text-color
|
||||||
|
- QRgb s = *dst;
|
||||||
|
- blend_pixel(s, src);
|
||||||
|
- // Then gamma-corrected blend with glyph shape
|
||||||
|
- grayBlendPixel(dst, coverage, colorProfile->toLinear64(s), colorProfile);
|
||||||
|
+ if (*dst >= 0xff000000) {
|
||||||
|
+ grayBlendPixel(dst, coverage, srcLinear, colorProfile);
|
||||||
|
+ } else {
|
||||||
|
+ // Give up and do a naive gray alphablend. Needed to deal with ARGB32 and invalid ARGB32_premultiplied, see QTBUG-60571
|
||||||
|
+ *dst = INTERPOLATE_PIXEL_255(src, coverage, *dst, 255 - coverage);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if QT_CONFIG(raster_64bit)
|
||||||
|
-
|
||||||
|
-static inline void grayBlendPixel(QRgba64 &dst, int coverage, QRgba64 srcLinear, const QColorTrcLut *colorProfile)
|
||||||
|
-{
|
||||||
|
- // Do a gammacorrected gray alphablend...
|
||||||
|
- QRgba64 dstColor = dst;
|
||||||
|
- if (colorProfile) {
|
||||||
|
- if (dstColor.isOpaque())
|
||||||
|
- dstColor = colorProfile->toLinear(dstColor);
|
||||||
|
- else if (!dstColor.isTransparent())
|
||||||
|
- dstColor = colorProfile->toLinear(dstColor.unpremultiplied()).premultiplied();
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- blend_pixel(dstColor, srcLinear, coverage);
|
||||||
|
-
|
||||||
|
- if (colorProfile) {
|
||||||
|
- if (dstColor.isOpaque())
|
||||||
|
- dstColor = colorProfile->fromLinear(dstColor);
|
||||||
|
- else if (!dstColor.isTransparent())
|
||||||
|
- dstColor = colorProfile->fromLinear(dstColor.unpremultiplied()).premultiplied();
|
||||||
|
- }
|
||||||
|
- dst = dstColor;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static inline void alphamapblend_generic(int coverage, QRgba64 *dest, int x, const QRgba64 &srcLinear, const QRgba64 &src, const QColorTrcLut *colorProfile)
|
||||||
|
{
|
||||||
|
if (coverage == 0) {
|
||||||
|
// nothing
|
||||||
|
} else if (coverage == 255) {
|
||||||
|
- blend_pixel(dest[x], src);
|
||||||
|
- } else if (src.isOpaque()) {
|
||||||
|
- grayBlendPixel(dest[x], coverage, srcLinear, colorProfile);
|
||||||
|
+ dest[x] = src;
|
||||||
|
} else {
|
||||||
|
- // First do naive blend with text-color
|
||||||
|
- QRgba64 s = dest[x];
|
||||||
|
- blend_pixel(s, src);
|
||||||
|
- // Then gamma-corrected blend with glyph shape
|
||||||
|
- grayBlendPixel(dest[x], coverage, colorProfile->toLinear(s), colorProfile);
|
||||||
|
+ QRgba64 dstColor = dest[x];
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (dstColor.isOpaque())
|
||||||
|
+ dstColor = colorProfile->toLinear(dstColor);
|
||||||
|
+ else if (!dstColor.isTransparent())
|
||||||
|
+ dstColor = colorProfile->toLinear(dstColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ dstColor = interpolate255(srcLinear, coverage, dstColor, 255 - coverage);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (dstColor.isOpaque())
|
||||||
|
+ dstColor = colorProfile->fromLinear(dstColor);
|
||||||
|
+ else if (!dstColor.isTransparent())
|
||||||
|
+ dstColor = colorProfile->fromLinear(dstColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
+ dest[x] = dstColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -5730,8 +5714,12 @@ static void qt_alphamapblit_generic(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
alignas(8) QRgba64 buffer[BufferSize];
|
||||||
|
const DestFetchProc64 destFetch64 = destFetchProc64[rasterBuffer->format];
|
||||||
|
@@ -5804,8 +5792,12 @@ static void qt_alphamapblit_generic(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
quint32 buffer[BufferSize];
|
||||||
|
const DestFetchProc destFetch = destFetchProc[rasterBuffer->format];
|
||||||
|
@@ -5880,7 +5872,7 @@ void qt_alphamapblit_quint16(QRasterBuffer *rasterBuffer,
|
||||||
|
int mapWidth, int mapHeight, int mapStride,
|
||||||
|
const QClipData *clip, bool useGammaCorrection)
|
||||||
|
{
|
||||||
|
- if (useGammaCorrection || !color.isOpaque()) {
|
||||||
|
+ if (useGammaCorrection) {
|
||||||
|
qt_alphamapblit_generic(rasterBuffer, x, y, color, map, mapWidth, mapHeight, mapStride, clip, useGammaCorrection);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
@@ -5939,8 +5931,12 @@ static void qt_alphamapblit_argb32(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA8Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (!clip) {
|
||||||
|
quint32 *dest = reinterpret_cast<quint32*>(rasterBuffer->scanLine(y)) + x;
|
||||||
|
@@ -6035,59 +6031,48 @@ static inline QRgb rgbBlend(QRgb d, QRgb s, uint rgbAlpha)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline void alphargbblend_argb32(quint32 *dst, uint coverage, const QRgba64 &srcLinear, quint32 src, const QColorTrcLut *colorProfile)
|
||||||
|
+#if QT_CONFIG(raster_64bit)
|
||||||
|
+static inline void alphargbblend_generic(uint coverage, QRgba64 *dest, int x, const QRgba64 &srcLinear, const QRgba64 &src, const QColorTrcLut *colorProfile)
|
||||||
|
{
|
||||||
|
if (coverage == 0xff000000) {
|
||||||
|
// nothing
|
||||||
|
- } else if (coverage == 0xffffffff && qAlpha(src) == 255) {
|
||||||
|
- blend_pixel(*dst, src);
|
||||||
|
- } else if (!colorProfile) {
|
||||||
|
- *dst = rgbBlend(*dst, src, coverage);
|
||||||
|
- } else if (*dst < 0xff000000) {
|
||||||
|
- // Give up and do a naive gray alphablend. Needed to deal with ARGB32 and invalid ARGB32_premultiplied, see QTBUG-60571
|
||||||
|
- blend_pixel(*dst, src, qRgbAvg(coverage));
|
||||||
|
- } else if (srcLinear.isOpaque()) {
|
||||||
|
- rgbBlendPixel(dst, coverage, srcLinear, colorProfile);
|
||||||
|
+ } else if (coverage == 0xffffffff) {
|
||||||
|
+ dest[x] = src;
|
||||||
|
} else {
|
||||||
|
- // First do naive blend with text-color
|
||||||
|
- QRgb s = *dst;
|
||||||
|
- blend_pixel(s, src);
|
||||||
|
- // Then gamma-corrected blend with glyph shape
|
||||||
|
- rgbBlendPixel(dst, coverage, colorProfile->toLinear64(s), colorProfile);
|
||||||
|
+ QRgba64 dstColor = dest[x];
|
||||||
|
+ if (dstColor.isOpaque()) {
|
||||||
|
+ if (colorProfile)
|
||||||
|
+ dstColor = colorProfile->toLinear(dstColor);
|
||||||
|
+ dstColor = rgbBlend(dstColor, srcLinear, coverage);
|
||||||
|
+ if (colorProfile)
|
||||||
|
+ dstColor = colorProfile->fromLinear(dstColor);
|
||||||
|
+ dest[x] = dstColor;
|
||||||
|
+ } else {
|
||||||
|
+ // Do a gray alphablend.
|
||||||
|
+ alphamapblend_generic(qRgbAvg(coverage), dest, x, srcLinear, src, colorProfile);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
-#if QT_CONFIG(raster_64bit)
|
||||||
|
-static inline void rgbBlendPixel(QRgba64 &dst, int coverage, QRgba64 slinear, const QColorTrcLut *colorProfile)
|
||||||
|
-{
|
||||||
|
- // Do a gammacorrected RGB alphablend...
|
||||||
|
- const QRgba64 dlinear = colorProfile ? colorProfile->toLinear64(dst) : dst;
|
||||||
|
-
|
||||||
|
- QRgba64 blend = rgbBlend(dlinear, slinear, coverage);
|
||||||
|
-
|
||||||
|
- dst = colorProfile ? colorProfile->fromLinear(blend) : blend;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static inline void alphargbblend_generic(uint coverage, QRgba64 *dest, int x, const QRgba64 &srcLinear, const QRgba64 &src, const QColorTrcLut *colorProfile)
|
||||||
|
+static inline void alphargbblend_argb32(quint32 *dst, uint coverage, const QRgba64 &srcLinear, quint32 src, const QColorTrcLut *colorProfile)
|
||||||
|
{
|
||||||
|
if (coverage == 0xff000000) {
|
||||||
|
// nothing
|
||||||
|
} else if (coverage == 0xffffffff) {
|
||||||
|
- blend_pixel(dest[x], src);
|
||||||
|
- } else if (!dest[x].isOpaque()) {
|
||||||
|
- // Do a gray alphablend.
|
||||||
|
- alphamapblend_generic(qRgbAvg(coverage), dest, x, srcLinear, src, colorProfile);
|
||||||
|
- } else if (src.isOpaque()) {
|
||||||
|
- rgbBlendPixel(dest[x], coverage, srcLinear, colorProfile);
|
||||||
|
- } else {
|
||||||
|
- // First do naive blend with text-color
|
||||||
|
- QRgba64 s = dest[x];
|
||||||
|
- blend_pixel(s, src);
|
||||||
|
- // Then gamma-corrected blend with glyph shape
|
||||||
|
- rgbBlendPixel(dest[x], coverage, colorProfile->toLinear(s), colorProfile);
|
||||||
|
+ *dst = src;
|
||||||
|
+ } else if (*dst < 0xff000000) {
|
||||||
|
+ // Give up and do a naive gray alphablend. Needed to deal with ARGB32 and invalid ARGB32_premultiplied, see QTBUG-60571
|
||||||
|
+ const int a = qRgbAvg(coverage);
|
||||||
|
+ *dst = INTERPOLATE_PIXEL_255(src, a, *dst, 255 - a);
|
||||||
|
+ } else if (!colorProfile) {
|
||||||
|
+ *dst = rgbBlend(*dst, src, coverage);
|
||||||
|
+ } else {
|
||||||
|
+ rgbBlendPixel(dst, coverage, srcLinear, colorProfile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if QT_CONFIG(raster_64bit)
|
||||||
|
static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer,
|
||||||
|
int x, int y, const QRgba64 &color,
|
||||||
|
const uint *src, int mapWidth, int mapHeight, int srcStride,
|
||||||
|
@@ -6102,8 +6087,12 @@ static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
alignas(8) QRgba64 buffer[BufferSize];
|
||||||
|
const DestFetchProc64 destFetch64 = destFetchProc64[rasterBuffer->format];
|
||||||
|
@@ -6175,8 +6164,12 @@ static void qt_alphargbblit_generic(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
quint32 buffer[BufferSize];
|
||||||
|
const DestFetchProc destFetch = destFetchProc[rasterBuffer->format];
|
||||||
|
@@ -6249,8 +6242,12 @@ static void qt_alphargbblit_argb32(QRasterBuffer *rasterBuffer,
|
||||||
|
colorProfile = QGuiApplicationPrivate::instance()->colorProfileForA32Text();
|
||||||
|
|
||||||
|
QRgba64 srcColor = color;
|
||||||
|
- if (colorProfile && color.isOpaque())
|
||||||
|
- srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ if (colorProfile) {
|
||||||
|
+ if (color.isOpaque())
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor);
|
||||||
|
+ else
|
||||||
|
+ srcColor = colorProfile->toLinear(srcColor.unpremultiplied()).premultiplied();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (!clip) {
|
||||||
|
quint32 *dst = reinterpret_cast<quint32*>(rasterBuffer->scanLine(y)) + x;
|
||||||
|
diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h
|
||||||
|
index dd42b96d79..9c5d525722 100644
|
||||||
|
--- a/src/gui/painting/qdrawhelper_p.h
|
||||||
|
+++ b/src/gui/painting/qdrawhelper_p.h
|
||||||
|
@@ -671,8 +671,6 @@ static Q_ALWAYS_INLINE void blend_pixel(quint32 &dst, const quint32 src)
|
||||||
|
|
||||||
|
static Q_ALWAYS_INLINE void blend_pixel(quint32 &dst, const quint32 src, const int const_alpha)
|
||||||
|
{
|
||||||
|
- if (const_alpha == 255)
|
||||||
|
- return blend_pixel(dst, src);
|
||||||
|
if (src != 0) {
|
||||||
|
const quint32 s = BYTE_MUL(src, const_alpha);
|
||||||
|
dst = s + BYTE_MUL(dst, qAlpha(~s));
|
||||||
|
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
|
||||||
|
index 40c822076b..87312b920a 100644
|
||||||
|
--- a/src/gui/painting/qpaintengine_raster.cpp
|
||||||
|
+++ b/src/gui/painting/qpaintengine_raster.cpp
|
||||||
|
@@ -842,8 +842,8 @@ void QRasterPaintEngine::updateRasterState()
|
||||||
|
const QPainter::CompositionMode mode = s->composition_mode;
|
||||||
|
s->flags.fast_text = (s->penData.type == QSpanData::Solid)
|
||||||
|
&& s->intOpacity == 256
|
||||||
|
- && (mode == QPainter::CompositionMode_SourceOver
|
||||||
|
- || (mode == QPainter::CompositionMode_Source
|
||||||
|
+ && (mode == QPainter::CompositionMode_Source
|
||||||
|
+ || (mode == QPainter::CompositionMode_SourceOver
|
||||||
|
&& s->penData.solidColor.isOpaque()));
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/gui/painting/qrgba64_p.h b/src/gui/painting/qrgba64_p.h
|
||||||
|
index d145dbfbea..ca879de27c 100644
|
||||||
|
--- a/src/gui/painting/qrgba64_p.h
|
||||||
|
+++ b/src/gui/painting/qrgba64_p.h
|
||||||
|
@@ -284,8 +284,6 @@ static Q_ALWAYS_INLINE void blend_pixel(QRgba64 &dst, QRgba64 src)
|
||||||
|
|
||||||
|
static Q_ALWAYS_INLINE void blend_pixel(QRgba64 &dst, QRgba64 src, const int const_alpha)
|
||||||
|
{
|
||||||
|
- if (const_alpha == 255)
|
||||||
|
- return blend_pixel(dst, src);
|
||||||
|
if (!src.isTransparent()) {
|
||||||
|
src = multiplyAlpha255(src, const_alpha);
|
||||||
|
dst = src + multiplyAlpha65535(dst, 65535 - src.alpha());
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
---
|
|
||||||
src/gui/text/qtextengine.cpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
Index: qtbase-opensource-src-5.9.1/src/gui/text/qtextengine.cpp
|
|
||||||
===================================================================
|
|
||||||
--- qtbase-opensource-src-5.9.1.orig/src/gui/text/qtextengine.cpp
|
|
||||||
+++ qtbase-opensource-src-5.9.1/src/gui/text/qtextengine.cpp
|
|
||||||
@@ -1723,6 +1723,7 @@ void QTextEngine::itemize() const
|
|
||||||
case QChar::Script_Katakana:
|
|
||||||
case QChar::Script_Bopomofo:
|
|
||||||
case QChar::Script_Han:
|
|
||||||
+ case QChar::Script_Gujarati:
|
|
||||||
analysis[i].script = QChar::Script_Common;
|
|
||||||
break;
|
|
||||||
default:
|
|
@ -1,3 +1,95 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 27 13:07:32 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update license tag
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 26 00:05:29 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Add patches to avoid regression with rendering of translucent text
|
||||||
|
(QTBUG-80982):
|
||||||
|
* 0001-Revert-Fix-text-rendering-regression-on-semi-transpa.patch
|
||||||
|
* 0002-Revert-Fix-crash-with-gamma-corrected-text-blending-.patch
|
||||||
|
* 0003-Revert-Handle-transparent-pen-color-in-fast-text-pat.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 12 12:40:51 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0:
|
||||||
|
* New bugfix release
|
||||||
|
* For the changes between 5.13.2 and 5.14.0 please see:
|
||||||
|
https://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.14.0?h=v5.14.0
|
||||||
|
* For the changes between 5.13.1 and 5.13.2 please see:
|
||||||
|
https://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.13.2?h=v5.14.0
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 4 14:37:31 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-rc:
|
||||||
|
* New bugfix release
|
||||||
|
* No changelog available
|
||||||
|
* For more details please see:
|
||||||
|
* For more details about Qt 5.14 please see:
|
||||||
|
https://wiki.qt.io/New_Features_in_Qt_5.14
|
||||||
|
- Drop patch, Qt behaviour changed now and applications can deal with
|
||||||
|
it meanwhile:
|
||||||
|
* 0001-Revert-QWidgetWindow-Immediately-forward-close-event.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 12 13:00:31 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-beta3:
|
||||||
|
* New bugfix release
|
||||||
|
* No changelog available
|
||||||
|
- Drop libqt5-Fix-Gujarati-font.patch, didn't apply anymore:
|
||||||
|
* Was probably fixed upstream a loooong time ago (QTBUG-44568)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 24 13:22:25 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-beta2:
|
||||||
|
* New bugfix release
|
||||||
|
* No changelog available
|
||||||
|
- Refresh patches:
|
||||||
|
* 0001-Revert-Always-escape-the-table-names-when-creating-t.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 15 12:34:20 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-beta1:
|
||||||
|
* New bugfix release
|
||||||
|
* No changelog available
|
||||||
|
- Drop patches, now upstream:
|
||||||
|
* 0001-tslib-plugin-remove-debug-print-on-old-tslib-version.patch
|
||||||
|
* 0001-QWidget-setFocusProxy-adjust-focus-widget-properly.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 2 19:53:24 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Disable relocatability, it breaks /usr/lib/sse2 (QTBUG-78948)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 30 13:29:55 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
- Update to 5.14.0-alpha:
|
||||||
|
* New feature release
|
||||||
|
* No changelog available
|
||||||
|
* For more details about Qt 5.14 please see:
|
||||||
|
https://wiki.qt.io/New_Features_in_Qt_5.14
|
||||||
|
- Refresh patches:
|
||||||
|
* 0001-Add-remote-print-queue-support.patch
|
||||||
|
- Drop patches, don't apply anymore after upstream refactoring and the
|
||||||
|
main bug for them seems fixed:
|
||||||
|
* 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
|
||||||
|
* 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch
|
||||||
|
- Drop patches, now upstream:
|
||||||
|
* 0001-Fix-notification-of-QDockWidget-when-it-gets-undocke.patch
|
||||||
|
* 0001-Fix-CMake-config-files-for-libdir-different-from-lib.patch
|
||||||
|
* 0001-Fix-qfloat16-methods-definition-without-declaration-.patch
|
||||||
|
- Enable zstd support again, issues got fixed upstream meanwhile
|
||||||
|
- Add patch to fix build against older tslib:
|
||||||
|
* 0001-tslib-plugin-remove-debug-print-on-old-tslib-version.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 19 08:08:00 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
Thu Sep 19 08:08:00 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||||
|
|
||||||
|
@ -36,25 +36,23 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: libqt5-qtbase
|
Name: libqt5-qtbase
|
||||||
Version: 5.13.1
|
Version: 5.14.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: C++ Program Library, Core Components
|
Summary: C++ Program Library, Core Components
|
||||||
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
|
License: LGPL-3.0-only or GPL-3.0-with-Qt-Company-Qt-exception-1.1
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Url: https://www.qt.io
|
Url: https://www.qt.io
|
||||||
%define base_name libqt5
|
%define base_name libqt5
|
||||||
%define real_version 5.13.1
|
%define real_version 5.14.0
|
||||||
%define so_version 5.13.1
|
%define so_version 5.14.0
|
||||||
%define tar_version qtbase-everywhere-src-5.13.1
|
%define tar_version qtbase-everywhere-src-5.14.0
|
||||||
Source: https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
|
Source: https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||||
# to get mtime of file:
|
# to get mtime of file:
|
||||||
Source1: libqt5-qtbase.changes
|
Source1: libqt5-qtbase.changes
|
||||||
Source2: macros.qt5
|
Source2: macros.qt5
|
||||||
Source3: baselibs.conf
|
Source3: baselibs.conf
|
||||||
Source99: libqt5-qtbase-rpmlintrc
|
Source99: libqt5-qtbase-rpmlintrc
|
||||||
# patches 0-1000 are openSUSE and/or non-upstream(able) patches #
|
# patches 0-1000 are openSUSE and/or non-upstream(able) patches #
|
||||||
# PATCH-FIX-SUSE libqt5-Fix-Gujarati-font.patch bnc#878292 fix broken Gujarati font rendering
|
|
||||||
Patch3: libqt5-Fix-Gujarati-font.patch
|
|
||||||
# PATCH-FIX-OPENSUSE disable-rc4-ciphers-bnc865241.diff bnc#865241-- Exclude rc4 ciphers from being used by default
|
# PATCH-FIX-OPENSUSE disable-rc4-ciphers-bnc865241.diff bnc#865241-- Exclude rc4 ciphers from being used by default
|
||||||
Patch6: disable-rc4-ciphers-bnc865241.diff
|
Patch6: disable-rc4-ciphers-bnc865241.diff
|
||||||
Patch8: tell-the-truth-about-private-api.patch
|
Patch8: tell-the-truth-about-private-api.patch
|
||||||
@ -63,28 +61,20 @@ Patch10: libqt5-prioritise-gtk2-platformtheme.patch
|
|||||||
# PATCH-FEATURE-OPENSUSE 0001-Add-remote-print-queue-support.patch fate#322052 -- Automatically recognize and allow printing to remote cups servers
|
# PATCH-FEATURE-OPENSUSE 0001-Add-remote-print-queue-support.patch fate#322052 -- Automatically recognize and allow printing to remote cups servers
|
||||||
Patch12: 0001-Add-remote-print-queue-support.patch
|
Patch12: 0001-Add-remote-print-queue-support.patch
|
||||||
# PATCH-FIX-OPENSUSE
|
# PATCH-FIX-OPENSUSE
|
||||||
Patch13: 0001-Revert-QWidgetWindow-Immediately-forward-close-event.patch
|
|
||||||
# PATCH-FIX-OPENSUSE
|
|
||||||
Patch17: 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
|
|
||||||
Patch18: 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch
|
|
||||||
# PATCH-FIX-UPSTREAM
|
|
||||||
Patch20: 0001-Fix-qfloat16-methods-definition-without-declaration-.patch
|
|
||||||
# PATCH-FIX-OPENSUSE
|
|
||||||
Patch21: 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
|
Patch21: 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
|
||||||
Patch22: 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch
|
Patch22: 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch
|
||||||
Patch23: 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
|
Patch23: 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
|
||||||
Patch24: fix-fixqt4headers.patch
|
Patch24: fix-fixqt4headers.patch
|
||||||
# Revert to restore compatibility with akonadi and possibly other applications
|
# Revert to restore compatibility with akonadi and possibly other applications
|
||||||
Patch30: 0001-Revert-Always-escape-the-table-names-when-creating-t.patch
|
Patch30: 0001-Revert-Always-escape-the-table-names-when-creating-t.patch
|
||||||
# patches 1000-2000 and above from upstream 5.13 branch #
|
# Reverts to avoid text rendering bug (QTBUG-80982)
|
||||||
# patches 2000-3000 and above from upstream 5.14/dev branch #
|
Patch40: 0001-Revert-Fix-text-rendering-regression-on-semi-transpa.patch
|
||||||
Patch2000: 0001-Fix-notification-of-QDockWidget-when-it-gets-undocke.patch
|
Patch41: 0002-Revert-Fix-crash-with-gamma-corrected-text-blending-.patch
|
||||||
|
Patch42: 0003-Revert-Handle-transparent-pen-color-in-fast-text-pat.patch
|
||||||
|
# patches 1000-2000 and above from upstream 5.14 branch #
|
||||||
|
# patches 2000-3000 and above from upstream 5.15/dev branch #
|
||||||
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/255384
|
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/255384
|
||||||
Patch2001: 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
|
Patch2001: 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
|
||||||
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/273050
|
|
||||||
Patch2002: 0001-Fix-CMake-config-files-for-libdir-different-from-lib.patch
|
|
||||||
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/273365
|
|
||||||
Patch2003: 0001-QWidget-setFocusProxy-adjust-focus-widget-properly.patch
|
|
||||||
BuildRequires: alsa-devel
|
BuildRequires: alsa-devel
|
||||||
BuildRequires: cups-devel
|
BuildRequires: cups-devel
|
||||||
BuildRequires: double-conversion-devel
|
BuildRequires: double-conversion-devel
|
||||||
@ -124,6 +114,8 @@ BuildRequires: vulkan-devel
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildRequires: pkgconfig(pango)
|
BuildRequires: pkgconfig(pango)
|
||||||
|
# Not packaged yet
|
||||||
|
#BuildRequires: pkgconfig(md4c)
|
||||||
BuildRequires: pkgconfig(libdrm)
|
BuildRequires: pkgconfig(libdrm)
|
||||||
BuildRequires: pkgconfig(xcb-randr)
|
BuildRequires: pkgconfig(xcb-randr)
|
||||||
BuildRequires: pkgconfig(xcb-renderutil)
|
BuildRequires: pkgconfig(xcb-renderutil)
|
||||||
@ -156,8 +148,7 @@ BuildRequires: pkgconfig(sm)
|
|||||||
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
|
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
|
||||||
BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1
|
BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
# Breaks various existing codebases, see QTBUG-76521
|
BuildRequires: pkgconfig(libzstd)
|
||||||
# BuildRequires: pkgconfig(libzstd)
|
|
||||||
%if %journald
|
%if %journald
|
||||||
BuildRequires: pkgconfig(libsystemd)
|
BuildRequires: pkgconfig(libsystemd)
|
||||||
%endif
|
%endif
|
||||||
@ -848,6 +839,8 @@ sed -i 's|qt_instdate=`date +%Y-%m-%d`|qt_instdate=$CHANGES|g' configure
|
|||||||
# so non-qt5 apps/libs don't get stripped
|
# so non-qt5 apps/libs don't get stripped
|
||||||
sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
|
sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
|
||||||
|
|
||||||
|
# -no-feature-relocatable is needed to support /usr/lib/sse2 etc., see QTBUG-78948
|
||||||
|
|
||||||
echo yes | ./configure \
|
echo yes | ./configure \
|
||||||
-prefix %{_prefix} \
|
-prefix %{_prefix} \
|
||||||
-L %{libqt5_libdir} \
|
-L %{libqt5_libdir} \
|
||||||
@ -894,13 +887,12 @@ echo yes | ./configure \
|
|||||||
-system-freetype \
|
-system-freetype \
|
||||||
-cups \
|
-cups \
|
||||||
-system-zlib \
|
-system-zlib \
|
||||||
-no-zstd \
|
-zstd \
|
||||||
-no-pch \
|
-no-pch \
|
||||||
-glib \
|
-glib \
|
||||||
-sctp \
|
-sctp \
|
||||||
-system-sqlite \
|
-system-sqlite \
|
||||||
-no-sql-mysql \
|
-no-sql-mysql \
|
||||||
-no-strip \
|
|
||||||
%if %journald
|
%if %journald
|
||||||
-journald \
|
-journald \
|
||||||
%endif
|
%endif
|
||||||
@ -920,6 +912,7 @@ echo yes | ./configure \
|
|||||||
-plugin-sql-odbc \
|
-plugin-sql-odbc \
|
||||||
-plugin-sql-mysql -I/usr/include/mysql/ \
|
-plugin-sql-mysql -I/usr/include/mysql/ \
|
||||||
-qpa "xcb;wayland" \
|
-qpa "xcb;wayland" \
|
||||||
|
-no-feature-relocatable \
|
||||||
-v \
|
-v \
|
||||||
QMAKE_CFLAGS+="$CFLAGS" \
|
QMAKE_CFLAGS+="$CFLAGS" \
|
||||||
QMAKE_CXXFLAGS+="$CXXFLAGS"
|
QMAKE_CXXFLAGS+="$CXXFLAGS"
|
||||||
@ -1037,6 +1030,8 @@ chmod 644 %{buildroot}%{libqt5_docdir}/global/template/images/*.png
|
|||||||
%{libqt5_bindir}/uic*
|
%{libqt5_bindir}/uic*
|
||||||
%{_bindir}/qvkgen*
|
%{_bindir}/qvkgen*
|
||||||
%{libqt5_bindir}/qvkgen*
|
%{libqt5_bindir}/qvkgen*
|
||||||
|
%{_bindir}/tracegen*
|
||||||
|
%{libqt5_bindir}/tracegen*
|
||||||
%{_bindir}/syncqt.pl*
|
%{_bindir}/syncqt.pl*
|
||||||
%{_bindir}/fixqt4headers.pl*
|
%{_bindir}/fixqt4headers.pl*
|
||||||
%{libqt5_bindir}/syncqt.pl*
|
%{libqt5_bindir}/syncqt.pl*
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:110cd08cdacab26274bf2519d3508046616c0b638f0d2f5e00bc8bad87469eab
|
|
||||||
size 48807960
|
|
3
qtbase-everywhere-src-5.14.0.tar.xz
Normal file
3
qtbase-everywhere-src-5.14.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4ef921c0f208a1624439801da8b3f4344a3793b660ce1095f2b7f5c4246b9463
|
||||||
|
size 49713412
|
Loading…
x
Reference in New Issue
Block a user