Accepting request 936301 from KDE:Qt6

Qt 6.2.2 (forwarded request 936299 from cgiboudeaux)

OBS-URL: https://build.opensuse.org/request/show/936301
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qt6-base?expand=0&rev=13
This commit is contained in:
Dominique Leuenberger 2021-12-08 21:08:57 +00:00 committed by Git OBS Bridge
commit 3baef12b1e
5 changed files with 28 additions and 73 deletions

View File

@ -1,55 +0,0 @@
From ffc9323671d045e3566980d9ed4567f071004e65 Mon Sep 17 00:00:00 2001
From: Volker Hilsheimer <volker.hilsheimer@qt.io>
Date: Thu, 28 Oct 2021 16:55:33 +0200
Subject: Fix performance regression when avoiding scrollbar flipping
Amends 6c4dc722cb9bf765904feefff4fb00bdb0b3dc9f.
Don't search for the optimal size of the scrollarea's widget if it can't
be found anyway. Try the size with scrollbar first, which covers the
vast majority of sizes.
Optimizing the loop with e.g. a binary search adds no value, as the size
is often just a pixel too small.
Since we can't rely on the number of height-for-width calls, we can't
meaningfully test this behavior. The number of calls is still very high
during showing and resizing; optimizing this further is for a separate
commit.
Fixes: QTBUG-97811
Pick-to: 6.2 5.15
Change-Id: If145302e6414b32cf1ce7251ff33b0039f584867
Reviewed-by: Jonas Kvinge <jonas@jkvinge.net>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
---
src/widgets/widgets/qscrollarea.cpp | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
(limited to 'src/widgets/widgets/qscrollarea.cpp')
diff --git a/src/widgets/widgets/qscrollarea.cpp b/src/widgets/widgets/qscrollarea.cpp
index f880240ea7..e8fdadb648 100644
--- a/src/widgets/widgets/qscrollarea.cpp
+++ b/src/widgets/widgets/qscrollarea.cpp
@@ -203,10 +203,13 @@ void QScrollAreaPrivate::updateScrollBars()
if (vbarpolicy == Qt::ScrollBarAsNeeded) {
int vbarWidth = vbar->sizeHint().width();
QSize m_hfw = m.expandedTo(min).boundedTo(max);
- while (h > m.height() && vbarWidth) {
- --vbarWidth;
- --m_hfw.rwidth();
- h = widget->heightForWidth(m_hfw.width());
+ // is there any point in searching?
+ if (widget->heightForWidth(m_hfw.width() - vbarWidth) <= m.height()) {
+ while (h > m.height() && vbarWidth) {
+ --vbarWidth;
+ --m_hfw.rwidth();
+ h = widget->heightForWidth(m_hfw.width());
+ }
}
max = QSize(m_hfw.width(), qMax(m_hfw.height(), h));
}
--
cgit v1.2.1

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Dec 1 10:05:54 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 6.2.2
* https://www.qt.io/blog/qt-6.2.2-released
- Make sure all dependencies are present when installing devel
packages. Qt >= 6.2.2 is much less permissive.
- Drop 0001-qscrollarea-performance-fix.patch. Merged upstream.
-------------------------------------------------------------------
Thu Nov 4 20:59:52 UTC 2021 - Jonas Kvinge <jonaski@opensuse.org>
@ -210,7 +219,7 @@ Tue Oct 6 19:41:23 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Add patches:
* 0001-cmake-Fix-doc-installation.patch
* 0001-cmake-Don-t-hardcode-the-library-directory-name.patch
-------------------------------------------------------------------
Sun Sep 20 08:25:20 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>

View File

@ -16,7 +16,7 @@
#
%define real_version 6.2.1
%define real_version 6.2.2
%define short_version 6.2
%define tar_name qtbase-everywhere-src
%define tar_suffix %{nil}
@ -30,7 +30,7 @@
%global with_gles 1
%endif
Name: qt6-base%{?pkg_suffix}
Version: 6.2.1
Version: 6.2.2
Release: 0
Summary: Qt 6 core components (Core, Gui, Widgets, Network...)
# Legal: qtpaths is BSD-3-Clause
@ -44,7 +44,6 @@ Patch100: 0001-Tell-the-truth-about-private-API.patch
%if 0%{?suse_version} == 1500
Patch101: 0001-Require-GCC-10.patch
%endif
Patch102: 0001-qscrollarea-performance-fix.patch
##
BuildRequires: cmake >= 3.18.3
BuildRequires: cups-devel
@ -292,6 +291,7 @@ the enablers found in the Qt GUI module.
Summary: Development files for the Qt 6 GUI libraries
Requires: libQt6Gui6 = %{version}
Requires: cmake(Qt6Core) = %{real_version}
Requires: cmake(Qt6DBus) = %{real_version}
Requires: pkgconfig(atspi-2)
Requires: pkgconfig(egl)
Requires: pkgconfig(libdrm)
@ -312,6 +312,13 @@ Development files for the Qt 6 GUI libraries.
Summary: Non-ABI stable API for the Qt 6 GUI libraries
Requires: libQt6Gui6 = %{version}
Requires: qt6-core-private-devel = %{version}
Requires: qt6-kmssupport-private-devel = %{version}
Requires: qt6-opengl-private-devel = %{version}
Requires: cmake(Qt6DeviceDiscoverySupportPrivate) = %{real_version}
Requires: cmake(Qt6EglFSDeviceIntegrationPrivate) = %{real_version}
Requires: cmake(Qt6EglFsKmsSupportPrivate) = %{real_version}
Requires: cmake(Qt6FbSupportPrivate) = %{real_version}
Requires: cmake(Qt6InputSupportPrivate) = %{real_version}
Requires: pkgconfig(xkbcommon)
%description -n qt6-gui-private-devel
@ -398,8 +405,6 @@ buffer where the OpenGL API can be used to render the contents.
%package -n qt6-openglwidgets-devel
Summary: Development files for the Qt 6 OpenGLWidgets library
Requires: libQt6OpenGLWidgets6 = %{version}
Requires: cmake(Qt6Core) = %{real_version}
Requires: cmake(Qt6Gui) = %{real_version}
Requires: cmake(Qt6OpenGL) = %{real_version}
Requires: cmake(Qt6Widgets) = %{real_version}
%if 0%{?with_gles}
@ -541,7 +546,6 @@ standards for XML.
%package -n qt6-xml-devel
Summary: Development files for the Qt 6 XML library
Requires: libQt6Xml6 = %{version}
Requires: qt6-core-private-devel
Requires: cmake(Qt6Core) = %{real_version}
%description -n qt6-xml-devel
@ -572,8 +576,6 @@ This package contains common files used for building Qt documentation.
Summary: Qt KMSSupport module
Requires: qt6-core-private-devel = %{version}
Requires: qt6-gui-private-devel = %{version}
Requires: cmake(Qt6Core) = %{real_version}
Requires: cmake(Qt6Gui) = %{real_version}
%description -n qt6-kmssupport-devel-static
Qt module to support Kernel Mode Setting.
@ -588,9 +590,8 @@ ABI or API guarantees.
%package -n qt6-platformsupport-devel-static
Summary: Qt PlatformSupport module
Requires: cmake(Qt6Core) = %{real_version}
Requires: cmake(Qt6DBus) = %{real_version}
Requires: cmake(Qt6Gui) = %{real_version}
Requires: qt6-core-private-devel = %{version}
Requires: qt6-gui-private-devel = %{version}
Requires: pkgconfig(atspi-2)
Requires: pkgconfig(egl)
Requires: pkgconfig(fontconfig)
@ -612,8 +613,6 @@ Qt PlatformSupport module.
%package -n qt6-platformsupport-private-devel
Summary: Non-ABI stable API for the Qt6 PlatformSupport library
Requires: qt6-core-private-devel = %{version}
Requires: qt6-gui-private-devel = %{version}
Requires: qt6-platformsupport-devel-static = %{version}
%description -n qt6-platformsupport-private-devel
@ -623,7 +622,7 @@ any ABI or API guarantees.
### Plugins ###
%package -n qt6-networkinformation-nm
Summary: Network information for QNetworkInformation
Summary: Network information for QNetworkInformation
# Renamed in Qt 6.2
Provides: qt6-network-informationbackends = 6.2.0
Obsoletes: qt6-network-informationbackends < 6.2.0
@ -748,6 +747,7 @@ EOF
-DFEATURE_reduce_relocations:BOOL=OFF \
-DFEATURE_relocatable:BOOL=OFF \
-DFEATURE_system_sqlite:BOOL=ON \
-DFEATURE_system_xcb_xinput:BOOL=ON \
-DINPUT_openssl:STRING=linked \
%if 0%{?with_gles}
-DINPUT_opengl:STRING=es2 \
@ -857,6 +857,7 @@ rm -r %{buildroot}%{_qt6_mkspecsdir}/features/uikit
%{_qt6_cmakedir}/Qt6/
%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfig.cmake
%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfigVersion.cmake
%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfigVersionImpl.cmake
%{_qt6_cmakedir}/Qt6BuildInternals/QtBuildInternalsExtra.cmake
%{_qt6_cmakedir}/Qt6BuildInternals/QtStandaloneTestTemplateProject/
%{_qt6_cmakedir}/Qt6BuildInternals/StandaloneTests/QtBaseTestsConfig.cmake

View File

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

View File

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