1
0
forked from pool/libqt5-qtbase
Fabian Vogt 2020-02-19 10:09:00 +00:00 committed by Git OBS Bridge
parent 001ac691c6
commit c482c62836
16 changed files with 478 additions and 643 deletions

View File

@ -1,36 +0,0 @@
From 127e467e5ff86d5aba085c0e3410b3198d29b61a Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Fri, 13 Nov 2020 15:51:50 +0100
Subject: [PATCH] Avoid SIGABRT on platform plugin initialization failure
If all platform plugins failed to initialize, Qt calls qFatal which in turn
calls abort. This causes SIGABRT and may generate a coredump.
In the most common case it's because the connection to the display (Wayland,
X11, whatever) is missing or failed, and a coredump will not help analyzing
that at all.
https://bugreports.qt.io/browse/QTBUG-88491
---
src/gui/kernel/qguiapplication.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index a95331e246..098c69d3c1 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -1251,9 +1251,9 @@ static void init_platform(const QString &pluginNamesWithArguments, const QString
if (!QLibraryInfo::isDebugBuild() && !GetConsoleWindow())
MessageBox(0, (LPCTSTR)fatalMessage.utf16(), (LPCTSTR)(QCoreApplication::applicationName().utf16()), MB_OK | MB_ICONERROR);
#endif // Q_OS_WIN && !Q_OS_WINRT
- qFatal("%s", qPrintable(fatalMessage));
+ qCritical("%s", qPrintable(fatalMessage));
- return;
+ _exit(1);
}
// Many platforms have created QScreens at this point. Finish initializing
--
2.25.1

View File

@ -1,40 +0,0 @@
From 8a053986b4c43a133f6824f839bd78a476d183e3 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 19 Feb 2020 11:42:06 +0100
Subject: [PATCH] Don't white-list recent Mesa versions for multithreading
It's not stable.
---
.../gl_integrations/xcb_glx/qglxintegration.cpp | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
index 75189a9c80..e328ea2d4b 100644
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -764,22 +764,6 @@ void QGLXContext::queryDummyContext()
m_supportsThreading = false;
}
- if (mesaVersionStr) {
- // The issue was fixed in Xcb 1.11, but we can't check for that
- // at runtime, so instead assume it fixed with recent Mesa versions
- // released several years after the Xcb fix.
-#if QT_CONFIG(regularexpression)
- QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
- QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
- int versionNr = 0;
- if (result.hasMatch())
- versionNr = result.captured(1).toInt();
- if (versionNr >= 17) {
- // White-listed
- m_supportsThreading = true;
- }
-#endif
- }
if (!m_supportsThreading) {
qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
"blacklisted vendor \"Mesa Project\"";
--
2.23.0

View File

@ -0,0 +1,50 @@
From 7525dcc085d0453209bd7c321adac9c54487afa6 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Thu, 14 Mar 2019 10:30:14 +0100
Subject: [PATCH 1/3] Revert "Blacklist nouveau and llvmpipe for
multithreading"
This reverts commit 96f6cab22cab252cbe7a98bbeadde95497e0bd75.
---
.../xcb_glx/qglxintegration.cpp | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
index 476de6d1e5..d42a33c22b 100644
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -652,12 +652,6 @@ static const char *qglx_threadedgl_blacklist_renderer[] = {
0
};
-static const char *qglx_threadedgl_blacklist_vendor[] = {
- "llvmpipe", // QTCREATORBUG-10666
- "nouveau", // https://bugs.freedesktop.org/show_bug.cgi?id=91632
- nullptr
-};
-
void QGLXContext::queryDummyContext()
{
if (m_queriedDummyContext)
@@ -716,18 +710,6 @@ void QGLXContext::queryDummyContext()
}
}
}
- if (const char *vendor = (const char *) glGetString(GL_VENDOR)) {
- for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) {
- if (strstr(vendor, qglx_threadedgl_blacklist_vendor[i]) != 0) {
- qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
- "blacklisted vendor \""
- << qglx_threadedgl_blacklist_vendor[i]
- << "\"";
- m_supportsThreading = false;
- break;
- }
- }
- }
if (glxvendor && m_supportsThreading) {
// Blacklist Mesa drivers due to QTCREATORBUG-10875 (crash in creator),
--
2.20.1

View File

@ -1,23 +0,0 @@
From e08cc7a0cec3c6fb69415b8e76e70b37088b561c Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
Date: Mon, 21 Jun 2021 12:29:39 +0200
Subject: [PATCH] Revert "Bump version"
This reverts commit 6344955d17e17e2398720fe60c34cfc2a4a95208.
---
.qmake.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.qmake.conf b/.qmake.conf
index 1bf1a80475..9476d20099 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -6,4 +6,4 @@ DEFINES += QT_NO_JAVA_STYLE_ITERATORS
QT_SOURCE_TREE = $$PWD
QT_BUILD_TREE = $$shadowed($$PWD)
-MODULE_VERSION = 5.15.3
+MODULE_VERSION = 5.15.2
--
2.20.1

View File

@ -1,139 +0,0 @@
From 9928d66764337494d0e99208a3418fcd01ac3e66 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 27 May 2020 10:48:45 +0200
Subject: [PATCH] Revert "QMenu: hide when a QWidgetAction fires the trigged
signal"
This reverts commit b4669b919048c1dbdac2b3e9b2e79f3d023aa078.
---
src/widgets/widgets/qmenu.cpp | 9 +--
.../auto/widgets/widgets/qmenu/tst_qmenu.cpp | 79 -------------------
2 files changed, 4 insertions(+), 84 deletions(-)
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 865e3b2fb6..2878344f07 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -1470,9 +1470,6 @@ void QMenuPrivate::_q_actionTriggered()
}
}
activateCausedStack(list, action, QAction::Trigger, false);
- // if a widget action fires, we need to hide the menu explicitly
- if (qobject_cast<QWidgetAction*>(action))
- hideUpToMenuBar();
}
}
}
@@ -1640,8 +1637,10 @@ void QMenu::initStyleOption(QStyleOptionMenuItem *option, const QAction *action)
Widgets can be inserted into menus with the QWidgetAction class.
Instances of this class are used to hold widgets, and are inserted
- into menus with the addAction() overload that takes a QAction. If the
- QWidgetAction fires the triggered() signal, the menu will close.
+ into menus with the addAction() overload that takes a QAction.
+
+ Conversely, actions can be added to widgets with the addAction(),
+ addActions() and insertAction() functions.
\warning To make QMenu visible on the screen, exec() or popup() should be
used instead of show().
diff --git a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
index 5a24995caf..22494f3d24 100644
--- a/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
+++ b/tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp
@@ -116,7 +116,6 @@ private slots:
void QTBUG20403_nested_popup_on_shortcut_trigger();
void QTBUG47515_widgetActionEnterLeave();
void QTBUG8122_widgetActionCrashOnClose();
- void widgetActionTriggerClosesMenu();
void QTBUG_10735_crashWithDialog();
#ifdef Q_OS_MAC
@@ -1408,84 +1407,6 @@ void tst_QMenu::QTBUG8122_widgetActionCrashOnClose()
QTRY_VERIFY(menu->isHidden());
}
-/*!
- Test that a QWidgetAction that fires closes the menus that it is in.
-*/
-void tst_QMenu::widgetActionTriggerClosesMenu()
-{
- class ButtonAction : public QWidgetAction
- {
- public:
- ButtonAction()
- : QWidgetAction(nullptr)
- {}
-
- void click()
- {
- if (pushButton)
- pushButton->click();
- }
-
- protected:
- QWidget *createWidget(QWidget *parent)
- {
- QPushButton *button = new QPushButton(QLatin1String("Button"), parent);
- connect(button, &QPushButton::clicked, this, &QAction::trigger);
-
- if (!pushButton)
- pushButton = button;
- return button;
- }
-
- private:
- QPointer<QPushButton> pushButton;
- };
-
- QMenu menu;
- QMenu submenu;
-
- int menuTriggeredCount = 0;
- int menuAboutToHideCount = 0;
- QAction *actionTriggered = nullptr;
-
- connect(&menu, &QMenu::triggered, this, [&](QAction *action){
- ++menuTriggeredCount;
- actionTriggered = action;
- });
- connect (&menu, &QMenu::aboutToHide, this, [&](){
- ++menuAboutToHideCount;
- });
-
- QAction regularAction(QLatin1String("Action"));
- ButtonAction widgetAction;
-
- submenu.addAction(&regularAction);
- submenu.addAction(&widgetAction);
-
- menu.addMenu(&submenu);
- menu.addAction(&regularAction);
- menu.addAction(&widgetAction);
-
- menu.popup(QPoint(200,200));
- submenu.popup(QPoint(250,250));
- if (!QTest::qWaitForWindowExposed(&menu) || !QTest::qWaitForWindowExposed(&submenu))
- QSKIP("Failed to show menus, aborting test");
-
- regularAction.trigger();
- QVERIFY(menu.isVisible());
- QVERIFY(submenu.isVisible());
- QCOMPARE(menuTriggeredCount, 1);
- QCOMPARE(actionTriggered, &regularAction);
- menuTriggeredCount = 0;
- actionTriggered = nullptr;
-
- widgetAction.click();
- QVERIFY(!menu.isVisible());
- QVERIFY(!submenu.isVisible());
- QCOMPARE(menuTriggeredCount, 1);
- QCOMPARE(menuAboutToHideCount, 1);
- QCOMPARE(actionTriggered, &widgetAction);
-}
class MyMenu : public QMenu
{
--
2.25.1

View File

@ -0,0 +1,280 @@
From 4f28ec6c8526d754849bd26c55e4c5faf61f4eb0 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Thu, 14 Mar 2019 10:32:10 +0100
Subject: [PATCH 2/3] Revert "qtlite: Fix build libs with
-no-feature-regularexpression"
This reverts commit 3b514f853595c686d4ed8830567c1f27ea533faf.
---
src/corelib/kernel/qvariant.cpp | 4 ----
src/corelib/serialization/qcborvalue.cpp | 12 ------------
src/corelib/serialization/qcborvalue.h | 10 +---------
src/corelib/serialization/qjsoncbor.cpp | 7 -------
.../platforms/eglfs/api/qeglfsdeviceintegration.cpp | 4 +---
.../xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 6 +-----
src/testlib/qtaptestlogger.cpp | 11 +----------
7 files changed, 4 insertions(+), 50 deletions(-)
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/kernel/qvariant.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/kernel/qvariant.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/kernel/qvariant.cpp
@@ -1052,13 +1052,11 @@ static bool convert(const QVariant::Priv
return false;
#ifndef QT_BOOTSTRAPPED
-#if QT_CONFIG(regularexpression)
case QMetaType::QRegularExpression:
if (d->type != QMetaType::QCborValue || !v_cast<QCborValue>(d)->isRegularExpression())
return false;
*static_cast<QRegularExpression *>(result) = v_cast<QCborValue>(d)->toRegularExpression();
break;
-#endif
case QMetaType::QJsonValue:
switch (d->type) {
case QMetaType::Nullptr:
@@ -1234,11 +1232,9 @@ static bool convert(const QVariant::Priv
case QVariant::Url:
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUrl>(d));
break;
-#if QT_CONFIG(regularexpression)
case QVariant::RegularExpression:
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QRegularExpression>(d));
break;
-#endif
case QVariant::Uuid:
*static_cast<QCborValue *>(result) = QCborValue(*v_cast<QUuid>(d));
break;
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qcborvalue.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.cpp
@@ -1772,7 +1772,6 @@ QCborValue::QCborValue(const QUrl &url)
container->elements[1].type = String;
}
-#if QT_CONFIG(regularexpression)
/*!
Creates a QCborValue object of the regular expression pattern extended type
and containing the value represented by \a rx. The value can later be retrieved
@@ -1791,7 +1790,6 @@ QCborValue::QCborValue(const QRegularExp
// change type
t = RegularExpression;
}
-#endif // QT_CONFIG(regularexpression)
/*!
Creates a QCborValue object of the UUID extended type and containing the
@@ -1945,7 +1943,6 @@ QUrl QCborValue::toUrl(const QUrl &defau
return QUrl::fromEncoded(byteData->asByteArrayView());
}
-#if QT_CONFIG(regularexpression)
/*!
Returns the regular expression value stored in this QCborValue, if it is of
the regular expression pattern extended type. Otherwise, it returns \a
@@ -1964,7 +1961,6 @@ QRegularExpression QCborValue::toRegular
Q_ASSERT(n == -1);
return QRegularExpression(container->stringAt(1));
}
-#endif // QT_CONFIG(regularexpression)
/*!
Returns the UUID value stored in this QCborValue, if it is of the UUID
@@ -2874,16 +2870,12 @@ uint qHash(const QCborValue &value, uint
return qHash(value.toDateTime(), seed);
case QCborValue::Url:
return qHash(value.toUrl(), seed);
-#if QT_CONFIG(regularexpression)
case QCborValue::RegularExpression:
return qHash(value.toRegularExpression(), seed);
-#endif
case QCborValue::Uuid:
return qHash(value.toUuid(), seed);
case QCborValue::Invalid:
return seed;
- default:
- break;
}
Q_ASSERT(value.isSimpleType());
@@ -2928,16 +2920,12 @@ static QDebug debugContents(QDebug &dbg,
return dbg << v.toDateTime();
case QCborValue::Url:
return dbg << v.toUrl();
-#if QT_CONFIG(regularexpression)
case QCborValue::RegularExpression:
return dbg << v.toRegularExpression();
-#endif
case QCborValue::Uuid:
return dbg << v.toUuid();
case QCborValue::Invalid:
return dbg << "<invalid>";
- default:
- break;
}
if (v.isSimpleType())
return dbg << v.toSimpleType();
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.h
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qcborvalue.h
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qcborvalue.h
@@ -43,9 +43,7 @@
#include <QtCore/qbytearray.h>
#include <QtCore/qdatetime.h>
#include <QtCore/qcborcommon.h>
-#if QT_CONFIG(regularexpression)
-# include <QtCore/qregularexpression.h>
-#endif
+#include <QtCore/qregularexpression.h>
#include <QtCore/qstring.h>
#include <QtCore/qstringview.h>
#include <QtCore/qurl.h>
@@ -159,9 +157,7 @@ public:
explicit QCborValue(const QDateTime &dt);
explicit QCborValue(const QUrl &url);
-#if QT_CONFIG(regularexpression)
explicit QCborValue(const QRegularExpression &rx);
-#endif
explicit QCborValue(const QUuid &uuid);
~QCborValue() { if (container) dispose(); }
@@ -239,9 +235,7 @@ public:
QString toString(const QString &defaultValue = {}) const;
QDateTime toDateTime(const QDateTime &defaultValue = {}) const;
QUrl toUrl(const QUrl &defaultValue = {}) const;
-#if QT_CONFIG(regularexpression)
QRegularExpression toRegularExpression(const QRegularExpression &defaultValue = {}) const;
-#endif
QUuid toUuid(const QUuid &defaultValue = {}) const;
// only forward-declared, need split functions
@@ -386,10 +380,8 @@ public:
{ return concrete().toDateTime(defaultValue); }
QUrl toUrl(const QUrl &defaultValue = {}) const
{ return concrete().toUrl(defaultValue); }
-#if QT_CONFIG(regularexpression)
QRegularExpression toRegularExpression(const QRegularExpression &defaultValue = {}) const
{ return concrete().toRegularExpression(defaultValue); }
-#endif
QUuid toUuid(const QUuid &defaultValue = {}) const
{ return concrete().toUuid(defaultValue); }
Index: qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qjsoncbor.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/corelib/serialization/qjsoncbor.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/corelib/serialization/qjsoncbor.cpp
@@ -543,19 +543,14 @@ QVariant QCborValue::toVariant() const
case Url:
return toUrl();
-#if QT_CONFIG(regularexpression)
case RegularExpression:
return toRegularExpression();
-#endif
case Uuid:
return toUuid();
case Invalid:
return QVariant();
-
- default:
- break;
}
if (isSimpleType())
@@ -719,10 +714,8 @@ QCborValue QCborValue::fromVariant(const
case QVariant::Hash:
return QCborMap::fromVariantHash(variant.toHash());
#ifndef QT_BOOTSTRAPPED
-#if QT_CONFIG(regularexpression)
case QVariant::RegularExpression:
return QCborValue(variant.toRegularExpression());
-#endif
case QMetaType::QJsonValue:
return fromJsonValue(variant.toJsonValue());
case QMetaType::QJsonObject:
Index: qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp
@@ -51,9 +51,7 @@
#include <private/qguiapplication_p.h>
#include <QScreen>
#include <QDir>
-#if QT_CONFIG(regularexpression)
-# include <QRegularExpression>
-#endif
+#include <QRegularExpression>
#include <QLoggingCategory>
#if defined(Q_OS_LINUX)
Index: qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -48,9 +48,7 @@
#undef register
#include <GL/glx.h>
-#if QT_CONFIG(regularexpression)
-# include <QtCore/QRegularExpression>
-#endif
+#include <QtCore/QRegularExpression>
#include <QtGui/QOpenGLContext>
#include <QtGui/QOffscreenSurface>
@@ -724,7 +722,6 @@ void QGLXContext::queryDummyContext()
// The issue was fixed in Xcb 1.11, but we can't check for that
// at runtime, so instead assume it fixed with recent Mesa versions
// released several years after the Xcb fix.
-#if QT_CONFIG(regularexpression)
QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
int versionNr = 0;
@@ -734,7 +731,6 @@ void QGLXContext::queryDummyContext()
// White-listed
m_supportsThreading = true;
}
-#endif
}
if (!m_supportsThreading) {
qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
Index: qtbase-everywhere-src-5.13.0-beta2/src/testlib/qtaptestlogger.cpp
===================================================================
--- qtbase-everywhere-src-5.13.0-beta2.orig/src/testlib/qtaptestlogger.cpp
+++ qtbase-everywhere-src-5.13.0-beta2/src/testlib/qtaptestlogger.cpp
@@ -43,9 +43,7 @@
#include "qtestresult_p.h"
#include "qtestassert.h"
-#if QT_CONFIG(regularexpression)
-# include <QtCore/qregularexpression.h>
-#endif
+#include <QtCore/qregularexpression.h>
QT_BEGIN_NAMESPACE
@@ -150,7 +148,6 @@ void QTapTestLogger::addIncident(Inciden
outputString(YAML_INDENT "---\n");
if (type != XFail) {
-#if QT_CONFIG(regularexpression)
// This is fragile, but unfortunately testlib doesn't plumb
// the expected and actual values to the loggers (yet).
static QRegularExpression verifyRegex(
@@ -211,12 +208,6 @@ void QTapTestLogger::addIncident(Inciden
YAML_INDENT "# %s\n", description);
outputString(unparsableDescription.data());
}
-#else
- QTestCharBuffer unparsableDescription;
- QTest::qt_asprintf(&unparsableDescription,
- YAML_INDENT "# %s\n", description);
- outputString(unparsableDescription.data());
-#endif
}
if (file) {

View File

@ -22,11 +22,11 @@ Change-Id: Ifbad6284483ee282ad129db54606f5d0d9ddd633
src/widgets/kernel/qwidgetwindow.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
Index: qtbase-everywhere-src-5.15.0-alpha/src/widgets/kernel/qwidgetwindow.cpp
===================================================================
--- qtbase-everywhere-src-5.15.0-alpha.orig/src/widgets/kernel/qwidgetwindow.cpp
+++ qtbase-everywhere-src-5.15.0-alpha/src/widgets/kernel/qwidgetwindow.cpp
@@ -1075,6 +1075,18 @@ void QWidgetWindow::handleTabletEvent(QT
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index fbc71cd0ea..729a7f701a 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -1051,6 +1051,18 @@ void QWidgetWindow::handleTabletEvent(QTabletEvent *event)
event->setAccepted(ev.isAccepted());
}
@ -43,5 +43,8 @@ Index: qtbase-everywhere-src-5.15.0-alpha/src/widgets/kernel/qwidgetwindow.cpp
+ }
+
if (event->type() == QEvent::TabletRelease && event->buttons() == Qt::NoButton)
qt_tablet_target = nullptr;
qt_tablet_target = 0;
}
--
2.21.0

View File

@ -0,0 +1,102 @@
From e0bf494295398cbc3ba5a84380525f9c00e3f8ad Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Thu, 14 Mar 2019 10:32:16 +0100
Subject: [PATCH 3/3] Revert "White-list more recent Mesa version for
multi-threading"
This reverts commit 97600d2c2885e667ced0926815b5a12a7f25285c.
---
.../xcb_glx/qglxintegration.cpp | 60 +++++++++++--------
1 file changed, 35 insertions(+), 25 deletions(-)
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
index ddb8f45188..41012c0b04 100644
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -48,7 +48,6 @@
#undef register
#include <GL/glx.h>
-#include <QtCore/QRegularExpression>
#include <QtGui/QOpenGLContext>
#include <QtGui/QOffscreenSurface>
@@ -650,6 +649,32 @@ static const char *qglx_threadedgl_blacklist_renderer[] = {
0
};
+// This disables threaded rendering on anything using mesa, e.g.
+// - nvidia/nouveau
+// - amd/gallium
+// - intel
+// - some software opengl implementations
+//
+// The client glx vendor string is used to identify those setups as that seems to show the least
+// variance between the bad configurations. It's always "Mesa Project and SGI". There are some
+// configurations which don't use mesa and which can do threaded rendering (amd and nvidia chips
+// with their own proprietary drivers).
+//
+// This, of course, is very broad and disables threaded rendering on a lot of devices which would
+// be able to use it. However, the bugs listed below don't follow any easily recognizable pattern
+// and we should rather be safe.
+//
+// http://cgit.freedesktop.org/xcb/libxcb/commit/?id=be0fe56c3bcad5124dcc6c47a2fad01acd16f71a will
+// fix some of the issues. Basically, the proprietary drivers seem to have a way of working around
+// a fundamental flaw with multithreaded access to xcb, but mesa doesn't. The blacklist should be
+// reevaluated once that patch is released in some version of xcb.
+static const char *qglx_threadedgl_blacklist_vendor[] = {
+ "Mesa Project and SGI", // QTCREATORBUG-10875 (crash in creator)
+ // QTBUG-34492 (flickering in fullscreen)
+ // QTBUG-38221
+ 0
+};
+
void QGLXContext::queryDummyContext()
{
if (m_queriedDummyContext)
@@ -709,33 +734,18 @@ void QGLXContext::queryDummyContext()
}
}
- if (glxvendor && m_supportsThreading) {
- // Blacklist Mesa drivers due to QTCREATORBUG-10875 (crash in creator),
- // QTBUG-34492 (flickering in fullscreen) and QTBUG-38221
- const char *mesaVersionStr = nullptr;
- if (strstr(glxvendor, "Mesa Project") != 0) {
- mesaVersionStr = (const char *) glGetString(GL_VERSION);
- m_supportsThreading = false;
- }
+ if (glxvendor) {
+ for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) {
+ if (strstr(glxvendor, qglx_threadedgl_blacklist_vendor[i]) != 0) {
+ qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
+ "blacklisted vendor \""
+ << qglx_threadedgl_blacklist_vendor[i]
+ << "\"";
- if (mesaVersionStr) {
- // The issue was fixed in Xcb 1.11, but we can't check for that
- // at runtime, so instead assume it fixed with recent Mesa versions
- // released several years after the Xcb fix.
- QRegularExpression versionTest(QStringLiteral("Mesa (\\d+)"));
- QRegularExpressionMatch result = versionTest.match(QString::fromLatin1(mesaVersionStr));
- int versionNr = 0;
- if (result.hasMatch())
- versionNr = result.captured(1).toInt();
- if (versionNr >= 17) {
- // White-listed
- m_supportsThreading = true;
+ m_supportsThreading = false;
+ break;
}
}
- if (!m_supportsThreading) {
- qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
- "blacklisted vendor \"Mesa Project\"";
- }
}
context.doneCurrent();
--
2.20.1

View File

@ -1,18 +0,0 @@
<services>
<service name="obs_scm" mode="disabled">
<param name="changesgenerate">enable</param>
<param name="versionformat">5.15.2+kde@TAG_OFFSET@</param>
<param name="url">https://invent.kde.org/qt/qt/qtbase.git</param>
<param name="scm">git</param>
<param name="filename">qtbase-everywhere-src</param>
<param name="revision">kde/5.15</param>
<param name="parent-tag">v5.15.2</param>
<param name="changesgenerate">enable</param>
</service>
<service name="set_version" mode="disabled"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
</services>

View File

@ -1,4 +0,0 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://invent.kde.org/qt/qt/qtbase.git</param>
<param name="changesrevision">366350c2e4a7eccbda0f3936e69c6b9c4fa28f55</param></service></servicedata>

View File

@ -1,334 +1,9 @@
-------------------------------------------------------------------
Fri Jan 21 08:04:30 UTC 2022 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to version 5.15.2+kde294:
* QTzTimeZonePrivate::init(): fix handling of empty ID
* Restore support for reading /etc/timezone for system zone name
* QPathEdge: Fix array initialization
* QTzTimeZonePrivate: fix UB (data race on m_icu)
* Don't access QObject::objectName during QThread start
* Restore C++11 compatibility after e8b9f4c28d3ab5e960dc54f2dc0c4b749b0b50e0
* QVarLengthArray: fix size update on failed append()
* Call statx() with AT_NO_AUTOMOUNT
* QThread: Remove superfluous initialization of threadId on Unix
* QThread: Reset the system thread ID when thread exits on Unix
* Add missing macOS header file that was indirectly included before
* QXcb: don't dereference pointer before checking
* xcb: avoid to use invalid pointers
* QVarLengthArray: fix insert() type/alias mismatch between decl and impl
* Use qint64 to replace int while qt_transform_image_rasterize
* QVarLengthArray: assert that the range passed to erase() is valid
* Fix pattern type matching
* QThread: fix UB (invalid enum value) on Private::Priority
* Use block char format to render list item bullets and numbers
* QDateTime: Don't require c++17
* QVariantAnimation: fix UB (FP 0/0) in interpolated() arg calculation
* QDateTime: fix UB (signed overflow) in addDays()
* QString: fix UB (pointer arithmetic on nullptr) in qLastIndexOf
* tst_QIODevice: fix UB (precondition violation) in SequentialReadBuffer::readData()
* QVarLengthArray: fix UB (precondition violation) in range-erase()
* Fix segmentation fault in QObject::dumpObjectInfo
-------------------------------------------------------------------
Fri Dec 24 11:45:16 UTC 2021 - fabian@ritter-vogt.de
- Update to version 5.15.2+kde268:
* Adapt for q_EVP_PKEY_base_id → q_EVP_PKEY_get_base_id rename in OpenSSL 3
* Don't use a deprecated function if built/linked with OpenSSL v3
* Diffie-Hellman parameters: remove useless 'fix'
* Dont's use DTLS_MAX_VERSION when setting SSL_CTX
* Avoid mixing atomic futex changes and QAtomic
* Fix qtdeclarative baseline test failure for text tables
* Don't let text table cells shrink below their minimum width (boo#1176530)
* Don't shrink a column when it spans multiple columns
* Use icon themes in QPrintPreviewDialog [if they exist]
* QAbstractFileEngine: fix UB (data race) on qt_file_engine_handlers_in_use
* Increment reference count when restoring reference
* Reject truncated and corrupt ascii pnm images
* Fix handling of Sunday in POSIX time-zone rules
* Fix developer build
- Drop patches, support for OpenSSL < 1.1.0 is no longer necessary:
* 0001-Lower-required-version-of-OpenSSL-to-1.1.0.patch
* fix-build-openssl-1.1.0.patch
-------------------------------------------------------------------
Thu Oct 28 07:14:35 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to version 5.15.2+kde254:
* Revert "QPushButton: fix support of style sheet rule for text alignment"
* Revert "Fix invalid text layout data when a full layout run is interrupted"
* Optimize mime type matching
* fix potential mem leak on connection lost
* tst_QSslSocket - replace an old certificate
* tst_QSslCertificate::verify - remove QSKIP
* tst_QSslCertificate::verify - skip auto-test
* Doc: bump the OpenSSL minimum supported version to 1.1.1
* QHttpSocketEngine: Fix memory leak
* QSslCertificate(OpenSSL) - harden protection against nullpointers
* QSslCertificate: Guard against accessing empty QByteArray
* Make QStyle::proxy() always return the leaf proxy
* Prefer previously used channels in QHttpNetworkConnection
* Fix populating selection clipboard with keyboard
* QSslCertificate::operator == - cleanup error queue
* Revert "Fix highdpi conversion of QTabletEvent coordinates on xcb"
* Fix highdpi conversion of QTabletEvent coordinates on xcb
* Support transformations in pattern/texture brushes in pdf
* Respect font stretch if set together with font style
* Fix QPainterPath with QFont::SmallCaps
* Avoid generating large pdf files when using dashed cosmetic pens
* PDF generation: disentangle native pen from transforms
* qmake: Switch to using Xcode's new build system
* Explicitly set input files for qtpreprocess
* Only embed launch screen when building an app
* Explicitly set output files for qtpreprocess
* Fix memory leak
* Fix reading gamma from PNGs without ICC profile
* QPlatformWindow: fix isAncestorOf not breaking recursion
* Cater for upstream changes in eglplatform.h
* QTextOdfWriter: fix exporting pixmaps to ODT
* Fix access to content: URLs with transient read/write permissions
-------------------------------------------------------------------
Fri Aug 27 17:51:39 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to version 5.15.2+kde222:
* Revert "QString::lastIndexOf: fix off-by-one for zero length matches"
* MySQL: treat the MYSQL_FIELD as read-only
* Remove checks for glibc < 2 from qplatformdefs.h files
* linux-clang/qplatformdefs: fix building with musl libc
* Refix for avoiding huge number of tiny dashes
* Improve fix for avoiding huge number of tiny dashes
* Avoid processing-intensive painting of high number of tiny dashes
* xcb: add a timeout control when reading INCR property
* Remove another usage of mysql_get_client_version()
* MySQL: remove the version number checks in favor of actual functionality
* QLibraryInfo: Add MSVC 2022
* doCrypt() - check the error codes
* Restore C++11 compatibility of QSharedPointer code
* opengl: fix a typo in QOpenGLPaintDevice::dotsPerMeterY()
* Fix rvalue overload of qobject_pointer_cast for GCC 9.3
* QVarLengthArray: fix aliasing error in insert(it, n, v)
* Fix memory leak of QOffscreenScreen in QOffscreenIntegration
* Fix tst_moc for C++17
* Add missing limits include
* xcb: Avoid use-after-free in QXcbConnection::initializeScreens()
* xcb: Remove need for QXCBScreen to resolve QXcbGlIntegration
* Update shared-mime-info to the 2.1 release, adjust implementation
-------------------------------------------------------------------
Thu Jun 24 19:16:41 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Revert to the default platform plugin list ("wayland;xcb")
-------------------------------------------------------------------
Thu Jun 24 09:02:42 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to version 5.15.2+kde200:
* Optimize quadratic-time insertion in QSortFilterProxyModel
-------------------------------------------------------------------
Mon Jun 21 08:07:20 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Switch to KDE's maintenance branch
- Update to version 5.15.2+kde199:
* Too many changes to list here
- Add patch to reset version to 5.15.2:
* 0001-Revert-Bump-version.patch
- Drop patches, now upstream:
* 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch
* 0001-Fix-allocated-memory-of-QByteArray.patch
* 0001-Fix-build-with-GCC-11-include-limits.patch
* 0001-Let-QXcbConnection-getTimestamp-properly-exit-when-X.patch
* 0002-Build-fixes-for-GCC-11.patch
-------------------------------------------------------------------
Wed May 26 11:49:02 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add trailing newline to qtlogging.ini
-------------------------------------------------------------------
Tue Apr 13 07:06:06 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add patch to fix possible crash caused by GCC 11 build fix:
* 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch
-------------------------------------------------------------------
Mon Feb 8 09:16:47 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add patch to fix build with GCC 11 (boo#1181861, QTBUG-90395):
* 0001-Fix-build-with-GCC-11-include-limits.patch
* 0002-Build-fixes-for-GCC-11.patch
-------------------------------------------------------------------
Tue Jan 19 07:46:43 UTC 2021 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add patch to fix infinite loop in KWin on XServer exit:
* 0001-Let-QXcbConnection-getTimestamp-properly-exit-when-X.patch
- Spec file cleanup, remove conditionals for Leap 42.x
-------------------------------------------------------------------
Tue Dec 29 11:48:35 UTC 2020 - Arjen de Korte <suse+build@de-korte.org>
- Add patch to avoid excessive use of memory by lconvert:
* 0001-Fix-allocated-memory-of-QByteArray.patch
-------------------------------------------------------------------
Fri Nov 20 12:08:44 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.2:
* New bugfix release
* For more details please see:
http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.15.2/?h=5.15.2
* Fallback to /tmp/runtime-$USER if XDG_RUNTIME_DIR is not set
or is unsafe (bsc#1172515)
- Drop patches, now upstream:
* 0001-Revert-Emit-QScreen-availableG-g-eometryChanged-on-l.patch
- Pass -confirm-license option, drop duplicates
- BuildRequire xcb-util
-------------------------------------------------------------------
Fri Nov 13 15:50:40 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to avoid coredumps with missing display:
* 0001-Avoid-SIGABRT-on-platform-plugin-initialization-fail.patch
-------------------------------------------------------------------
Wed Oct 28 13:22:24 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Disable -reduce-relocations for now (boo#1175278, QTBUG-86173)
-------------------------------------------------------------------
Wed Oct 14 19:28:37 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Silence xcb errors and qml connection warnings by default, see
boo#1115541 (xcb) and kde#418793.
-------------------------------------------------------------------
Mon Oct 12 13:57:55 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Remove some no longer required build dependencies: libpulse,
alsa (now used via QtMultimedia), libmng (obsolete).
-------------------------------------------------------------------
Mon Sep 21 09:55:25 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Revert commit to fix screen geometry on startup (boo#1176750, QTBUG-86604):
* 0001-Revert-Emit-QScreen-availableG-g-eometryChanged-on-l.patch
-------------------------------------------------------------------
Thu Sep 10 07:57:00 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.1:
* New bugfix release
* Fixes CVE-2020-17507, bsc#1176315
* For more details please see:
http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.15.1/?h=5.15.1
- Drop patches, now upstream:
* 0001-Do-not-multithread-if-already-in-a-global-threadpool.patch
* 0001-Fix-QToolButton-menus-showing-on-primary-screens-in-.patch
- Adjust fix-build-openssl-1.1.0.patch
-------------------------------------------------------------------
Sun Jul 5 10:16:48 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to prevent stuck image conversion (boo#1172599, QTBUG-84619):
* 0001-Do-not-multithread-if-already-in-a-global-threadpool.patch
-------------------------------------------------------------------
Wed Jun 10 12:31:44 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix tool menu placement (boo#1172754, QTBUG-84462):
* 0001-Fix-QToolButton-menus-showing-on-primary-screens-in-.patch
-------------------------------------------------------------------
Wed May 27 08:48:52 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add patch to avoid behaviour change causing crashes (kde#419526):
* 0001-Revert-QMenu-hide-when-a-QWidgetAction-fires-the-tri.patch
-------------------------------------------------------------------
Tue May 26 09:44:55 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
- Update to 5.15.0:
* No changelog available
-------------------------------------------------------------------
Wed May 20 15:38:18 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
- Update to 5.15.0-rc2
* No changelog available
-------------------------------------------------------------------
Wed May 6 11:26:35 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-rc:
* New bugfix release
* For the changes between 5.14.2 and 5.15.0 please see:
http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.15.0/?h=5.15.0
- Drop patches, now upstream:
* 0001-QTextMarkdownImporter-fix-use-after-free-add-fuzz-ge.patch
- Add patch to fix build on Leap 15.1:
* fix-build-openssl-1.1.0.patch
-------------------------------------------------------------------
Mon Apr 27 12:45:07 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Add patch to fix use-after-free (boo#1170582, CVE-2020-12267):
* 0001-QTextMarkdownImporter-fix-use-after-free-add-fuzz-ge.patch
-------------------------------------------------------------------
Fri Apr 24 07:11:04 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-beta4:
* New bugfix release
* No changelog available
* Qt incorrectly calls SSL_shutdown() in OpenSSL mid-handshake
causing denial of service in TLS applications (bsc#1172726,
CVE-2020-13962, QTBUG-83450)
-------------------------------------------------------------------
Tue Apr 14 06:47:19 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-beta3:
* New bugfix release
* No changelog available
- Add patch to fix build on Leap 15.1:
* 0001-Lower-required-version-of-OpenSSL-to-1.1.0.patch
-------------------------------------------------------------------
Tue Mar 24 12:13:29 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-beta2:
* New bugfix release
* No changelog available
-------------------------------------------------------------------
Fri Feb 28 09:58:42 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-beta1:
* New bugfix release
* No changelog available
-------------------------------------------------------------------
Wed Feb 19 10:16:14 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.0-alpha:
* New feature release
* For more details please see:
https://wiki.qt.io/New_Features_in_Qt_5.15
- Replace patches with single patch
0001-Don-t-white-list-recent-Mesa-versions-for-multithrea.patch:
* 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
* 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch:
* 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
- Refresh 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
-------------------------------------------------------------------
Mon Jan 27 13:13:57 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.14.1:
* New bugfix release
* Fixes CVE-2020-0570, bsc#1161167, bsc#1162191, QTBUG-81272
* Fixes CVE-2020-0570
* For more details please see:
http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.14.1/?h=v5.14.1
- Drop patch, should be addressed by applications meanwhile:
@ -390,8 +65,6 @@ 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
* Fix segfaults due to unaligned stack in QtCore5 (bsc#1155955)
* Add support for PostgreSQL 12 (bsc#1173758)
- Refresh patches:
* 0001-Revert-Always-escape-the-table-names-when-creating-t.patch
@ -598,8 +271,6 @@ Thu Mar 21 10:24:28 UTC 2019 - fabian@ritter-vogt.de
* New feature release
* For more details about Qt 5.13 please see:
* http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.13.0/?h=5.13
* Qt headers redefine opengl types differently than khronos headers
(bsc#1176130)
- Remove patches, now upstream:
* qapplication-emit-palettechanged.patch
* reproducible-qrc-time.patch

View File

@ -1,7 +1,7 @@
#
# spec file for package libqt5-qtbase
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,11 +12,11 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define qt5_snapshot 1
%define qt5_snapshot 0
%define journald 1
%ifarch %arm aarch64
@ -25,32 +25,34 @@
%global gles 0
%endif
%if 0%{?suse_version} >= 1330
%global vulkan 1
%bcond_without harfbuzz
%else
# Harfbuzz too old
%bcond_with harfbuzz
# Vulkan headers too old
%global vulkan 0
%endif
Name: libqt5-qtbase
Version: 5.15.2+kde294
Version: 5.14.1
Release: 0
Summary: C++ Program Library, Core Components
License: LGPL-3.0-only or GPL-3.0-with-Qt-Company-Qt-exception-1.1
Group: System/Libraries
Url: https://www.qt.io
%define base_name libqt5
%define real_version 5.15.2
%define so_version 5.15.2
%define tar_version qtbase-everywhere-src-%{version}
Source: %{tar_version}.tar.xz
%define real_version 5.14.1
%define so_version 5.14.1
%define tar_version qtbase-everywhere-src-5.14.1
Source: https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
# to get mtime of file:
Source1: libqt5-qtbase.changes
Source2: macros.qt5
Source3: baselibs.conf
Source4: qtlogging.ini
Source99: libqt5-qtbase-rpmlintrc
# patches 0-1000 are openSUSE and/or non-upstream(able) patches #
Patch3: 0001-Revert-QMenu-hide-when-a-QWidgetAction-fires-the-tri.patch
# Proposed: https://bugreports.qt.io/browse/QTBUG-88491
Patch4: 0001-Avoid-SIGABRT-on-platform-plugin-initialization-fail.patch
Patch5: 0001-Revert-Bump-version.patch
# PATCH-FIX-OPENSUSE disable-rc4-ciphers-bnc865241.diff bnc#865241-- Exclude rc4 ciphers from being used by default
Patch6: disable-rc4-ciphers-bnc865241.diff
Patch8: tell-the-truth-about-private-api.patch
@ -59,16 +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
Patch12: 0001-Add-remote-print-queue-support.patch
# PATCH-FIX-OPENSUSE
Patch21: 0001-Don-t-white-list-recent-Mesa-versions-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
Patch23: 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
Patch24: fix-fixqt4headers.patch
# patches 1000-2000 and above from upstream 5.15 branch #
# patches 2000-3000 and above from upstream qt6/dev branch #
# 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
Patch2001: 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
BuildRequires: alsa-devel
BuildRequires: cups-devel
BuildRequires: double-conversion-devel
BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
BuildRequires: libmng-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libpng-devel
BuildRequires: libproxy-devel
@ -95,6 +101,7 @@ BuildRequires: Mesa-libGLESv3-devel
BuildRequires: pkgconfig(glesv2)
%endif
BuildRequires: libicu-devel
BuildRequires: libpulse-devel
BuildRequires: tslib-devel
%if %{vulkan}
BuildRequires: vulkan-devel
@ -110,7 +117,6 @@ BuildRequires: pkgconfig(xcb-render)
BuildRequires: pkgconfig(xcb-shape)
BuildRequires: pkgconfig(xcb-shm)
BuildRequires: pkgconfig(xcb-sync)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xcb-xfixes)
BuildRequires: pkgconfig(xcb-xinerama)
BuildRequires: pkgconfig(xcb-xkb)
@ -828,13 +834,8 @@ sed -i 's|qt_instdate=`date +%Y-%m-%d`|qt_instdate=$CHANGES|g' configure
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
# -reduce-relocations means copy relocations aren't allowed, and so special
# flags like -fPIC need to be passed when building an application. This breaks
# with LTO (PIE overrides that) and CMake (doesn't pass -fPIC when linking).
# Due to a binutils bug/misunderstanding, this option didn't do as much before 2.35,
# so just disable it for now until a proper alternative appears.
./configure \
echo yes | ./configure \
-prefix %{_prefix} \
-L %{libqt5_libdir} \
-libdir %{libqt5_libdir} \
@ -850,7 +851,11 @@ sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
-sysconfdir %{libqt5_sysconfdir} \
-translationdir %{libqt5_translationdir} \
-verbose \
%ifarch %ix86 x86_64
-reduce-relocations \
%else
-no-reduce-relocations \
%endif
%ifarch %ix86
%if 0%{?sle_version} < 150000
-no-sse2 -no-pch \
@ -859,12 +864,10 @@ sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
-accessibility \
-no-strip \
-opensource \
-confirm-license \
-no-separate-debug-info \
-force-debug-info \
-shared \
-xkbcommon \
-no-bundled-xcb-xinput \
-xkb \
-dbus-linked \
-sm \
-no-rpath \
@ -883,6 +886,7 @@ sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
-glib \
-sctp \
-system-sqlite \
-no-sql-mysql \
%if %journald
-journald \
%endif
@ -901,7 +905,9 @@ sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
-plugin-sql-psql -I/usr/include/pgsql/ -I/usr/include/pgsql/server \
-plugin-sql-odbc \
-plugin-sql-mysql -I/usr/include/mysql/ \
-qpa "xcb;wayland" \
-no-feature-relocatable \
-v \
QMAKE_CFLAGS+="$CFLAGS" \
QMAKE_CXXFLAGS+="$CXXFLAGS"
@ -960,10 +966,6 @@ popd
chmod 644 %{buildroot}%{libqt5_docdir}/global/template/images/*.png
# Silence logging of xcb errors and qml deprecated connection
# warnings by default
install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%post -n libQt5Core5 -p /sbin/ldconfig
%post -n libQt5Concurrent5 -p /sbin/ldconfig
@ -1046,8 +1048,6 @@ install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%{libqt5_libdir}/sse2/libQt5Core.so.*
%endif
%endif
%dir %{libqt5_datadir}
%{libqt5_datadir}/qtlogging.ini
%files -n libQt5Core-devel
%license LICENSE.*
@ -1058,8 +1058,6 @@ install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%{libqt5_libdir}/cmake/Qt5/
%{libqt5_libdir}/pkgconfig/Qt5Core.pc
%{libqt5_includedir}/QtCore/
%dir %{libqt5_libdir}/metatypes/
%{libqt5_libdir}/metatypes/qt5core_metatypes.json
%exclude %{libqt5_includedir}/QtCore/%{so_version}
%{libqt5_docdir}
@ -1187,7 +1185,6 @@ install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%{libqt5_libdir}/cmake/Qt5Widgets/
%{libqt5_libdir}/pkgconfig/Qt5Widgets.pc
%{libqt5_includedir}/QtWidgets/
%{libqt5_libdir}/metatypes/qt5widgets_metatypes.json
%exclude %{libqt5_includedir}/QtWidgets/%{so_version}
%files -n libQt5Gui5
@ -1240,7 +1237,6 @@ install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%{libqt5_includedir}/QtGui/
%{libqt5_includedir}/QtEglFSDeviceIntegration/
%{libqt5_includedir}/QtXkbCommonSupport
%{libqt5_libdir}/metatypes/qt5gui_metatypes.json
%exclude %{libqt5_includedir}/QtGui/%{so_version}
%exclude %{libqt5_includedir}/QtEglFSDeviceIntegration/%{so_version}
%exclude %{libqt5_includedir}/QtXkbCommonSupport/%{so_version}
@ -1294,6 +1290,7 @@ install -Dm644 %{SOURCE4} %{buildroot}%{libqt5_datadir}/qtlogging.ini
%doc *.txt
%{libqt5_libdir}/libQt5Bootstrap.a
%{libqt5_libdir}/libQt5Bootstrap.prl
%{libqt5_libdir}/cmake/Qt5Bootstrap/
%files -n libQt5OpenGLExtensions-devel-static
%license LICENSE.*

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9d423a6e7bcf1055c0372fc029f14a6fe67dd62c67b83095cde68b60b762cf7
size 49828188

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6ec08431d9f5a84615b0381db9c80bdeb71de1e813f18a08b664336c290eeed
size 291332110

View File

@ -1,5 +0,0 @@
name: qtbase-everywhere-src
version: 5.15.2+kde294
mtime: 1642610092
commit: 366350c2e4a7eccbda0f3936e69c6b9c4fa28f55

View File

@ -1,3 +0,0 @@
[Rules]
qt.qpa.xcb.warning=false
qt.qml.connections.warning=false