1
0
forked from pool/libqt5-qtbase

Qt 5.15.2. qt3d on Leap now without assimp

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt5/libqt5-qtbase?expand=0&rev=18
This commit is contained in:
Christophe Giboudeaux 2020-11-22 21:09:28 +00:00 committed by Git OBS Bridge
parent a6d290fa71
commit a65beb60e9
6 changed files with 65 additions and 109 deletions

View File

@ -0,0 +1,36 @@
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,98 +0,0 @@
From b885b4a189db2889f3f934a18a9ffc17a9c9077f Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Sun, 20 Sep 2020 18:19:10 +0200
Subject: [PATCH] Revert "Emit QScreen::(availableG|g)eometryChanged() on
logical DPI change"
This reverts commit 370289bef68d8505b66cb27150a3f596e23c5ed3.
---
src/gui/kernel/qguiapplication.cpp | 10 ++++++++--
src/gui/kernel/qscreen.cpp | 24 +++---------------------
src/gui/kernel/qscreen_p.h | 2 --
3 files changed, 11 insertions(+), 25 deletions(-)
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 239a78313c..2eee145f27 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -3178,7 +3178,14 @@ void QGuiApplicationPrivate::processScreenGeometryChange(QWindowSystemInterfaceP
updateFilteredScreenOrientation(s);
}
- s->d_func()->emitGeometryChangeSignals(geometryChanged, availableGeometryChanged);
+ if (availableGeometryChanged)
+ emit s->availableGeometryChanged(s->availableGeometry());
+
+ if (geometryChanged || availableGeometryChanged) {
+ const auto siblings = s->virtualSiblings();
+ for (QScreen* sibling : siblings)
+ emit sibling->virtualGeometryChanged(sibling->virtualGeometry());
+ }
resetCachedDevicePixelRatio();
}
@@ -3198,7 +3205,6 @@ void QGuiApplicationPrivate::processScreenLogicalDotsPerInchChange(QWindowSystem
s->d_func()->logicalDpi = QDpi(e->dpiX, e->dpiY);
emit s->logicalDotsPerInchChanged(s->logicalDotsPerInch());
- s->d_func()->updateGeometriesWithSignals();
resetCachedDevicePixelRatio();
}
diff --git a/src/gui/kernel/qscreen.cpp b/src/gui/kernel/qscreen.cpp
index df628fcc73..d5a4b7c027 100644
--- a/src/gui/kernel/qscreen.cpp
+++ b/src/gui/kernel/qscreen.cpp
@@ -77,33 +77,15 @@ QScreen::QScreen(QPlatformScreen *screen)
d->setPlatformScreen(screen);
}
-void QScreenPrivate::updateGeometriesWithSignals()
-{
- const QRect oldGeometry = geometry;
- const QRect oldAvailableGeometry = availableGeometry;
- updateHighDpi();
- emitGeometryChangeSignals(oldGeometry != geometry, oldAvailableGeometry != availableGeometry);
-}
-
-void QScreenPrivate::emitGeometryChangeSignals(bool geometryChanged, bool availableGeometryChanged)
-{
- Q_Q(QScreen);
- if (availableGeometryChanged)
- emit q->availableGeometryChanged(availableGeometry);
-
- if (geometryChanged || availableGeometryChanged) {
- const auto siblings = q->virtualSiblings();
- for (QScreen* sibling : siblings)
- emit sibling->virtualGeometryChanged(sibling->virtualGeometry());
- }
-}
-
void QScreenPrivate::setPlatformScreen(QPlatformScreen *screen)
{
Q_Q(QScreen);
platformScreen = screen;
platformScreen->d_func()->screen = q;
orientation = platformScreen->orientation();
+ geometry = platformScreen->deviceIndependentGeometry();
+ availableGeometry = QHighDpi::fromNative(platformScreen->availableGeometry(),
+ QHighDpiScaling::factor(platformScreen), geometry.topLeft());
logicalDpi = QPlatformScreen::overrideDpi(platformScreen->logicalDpi());
diff --git a/src/gui/kernel/qscreen_p.h b/src/gui/kernel/qscreen_p.h
index 7da542c25e..e5988ff829 100644
--- a/src/gui/kernel/qscreen_p.h
+++ b/src/gui/kernel/qscreen_p.h
@@ -72,8 +72,6 @@ public:
}
void updatePrimaryOrientation();
- void updateGeometriesWithSignals();
- void emitGeometryChangeSignals(bool geometryChanged, bool availableGeometryChanged);
QPlatformScreen *platformScreen = nullptr;
--
2.25.1

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
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
- 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>

View File

@ -36,16 +36,16 @@
%endif
Name: libqt5-qtbase
Version: 5.15.1
Version: 5.15.2
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.1
%define so_version 5.15.1
%define tar_version qtbase-everywhere-src-5.15.1
%define real_version 5.15.2
%define so_version 5.15.2
%define tar_version qtbase-everywhere-src-5.15.2
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
# to get mtime of file:
Source1: libqt5-qtbase.changes
@ -57,6 +57,8 @@ Source99: libqt5-qtbase-rpmlintrc
Patch1: 0001-Lower-required-version-of-OpenSSL-to-1.1.0.patch
Patch2: fix-build-openssl-1.1.0.patch
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
# 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
@ -67,7 +69,6 @@ Patch12: 0001-Add-remote-print-queue-support.patch
# PATCH-FIX-OPENSUSE
Patch21: 0001-Don-t-white-list-recent-Mesa-versions-for-multithrea.patch
Patch24: fix-fixqt4headers.patch
Patch25: 0001-Revert-Emit-QScreen-availableG-g-eometryChanged-on-l.patch
# patches 1000-2000 and above from upstream 5.15 branch #
# patches 2000-3000 and above from upstream qt6/dev branch #
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/255384
@ -117,6 +118,7 @@ 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)
@ -865,6 +867,7 @@ echo yes | ./configure \
-accessibility \
-no-strip \
-opensource \
-confirm-license \
-no-separate-debug-info \
-force-debug-info \
-shared \
@ -888,7 +891,6 @@ echo yes | ./configure \
-glib \
-sctp \
-system-sqlite \
-no-sql-mysql \
%if %journald
-journald \
%endif
@ -909,7 +911,6 @@ echo yes | ./configure \
-plugin-sql-mysql -I/usr/include/mysql/ \
-qpa "xcb;wayland" \
-no-feature-relocatable \
-v \
QMAKE_CFLAGS+="$CFLAGS" \
QMAKE_CXXFLAGS+="$CXXFLAGS"
@ -1302,7 +1303,6 @@ 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

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

View File

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