From b4aea7662ac84778c5ce298424af381ed9651059 Mon Sep 17 00:00:00 2001 From: Joe Bo Run Date: Fri, 9 Jun 2023 13:48:05 +0300 Subject: [PATCH] upg mesa and qt6-base --- mesa/PKGBUILD | 26 +++++----- mesa/PKGBUILD-arch | 6 +-- qt6-base/PKGBUILD | 8 +-- qt6-base/PKGBUILD-arch | 5 +- qt6-base/qtbug-114204.patch | 100 ++++++++++++++++++++++++++++++++++++ 5 files changed, 124 insertions(+), 21 deletions(-) create mode 100644 qt6-base/qtbug-114204.patch diff --git a/mesa/PKGBUILD b/mesa/PKGBUILD index 0c0a76b..eb00b99 100644 --- a/mesa/PKGBUILD +++ b/mesa/PKGBUILD @@ -7,7 +7,7 @@ pkgbase=mesa pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa') -pkgver=23.1.1 +pkgver=23.1.2 pkgrel=01 pkgdesc="An open-source implementation of the OpenGL specification w/o systemd or zstd" #makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm' @@ -296,18 +296,16 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov '57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom -sha256sums=(a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40 # mesa-23.1.1.tar.xz - 2986ab688cc5058e552e08b7a00e795b8e3764322b53ccf3eb8545303cbda0cb # mesa-23.1.1.tar.xz.sig +sha256sums=(60b1f3adb1561830c158bf3c68508943674fb9d69f384c3c7289694385ab5c7e # mesa-23.1.2.tar.xz + 4850ebe291db0fde481bb0579cb5c56af6df39dc18193999e4a2ba79d3208910 # mesa-23.1.2.tar.xz.sig 7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE -## 101fdfb140a0e77ba46f559868700df4ce9ad853074412eccf324b92cfc29d6b libva-mesa-driver-23.1.1-01-x86_64.pkg.tar.lz -## 9a17082cfca02223a09746cd75d5cdde6a16e057699ebec91e8078984e4612bf mesa-23.1.1-01-x86_64.pkg.tar.lz -## a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40 mesa-23.1.1.tar.xz -## 2986ab688cc5058e552e08b7a00e795b8e3764322b53ccf3eb8545303cbda0cb mesa-23.1.1.tar.xz.sig -## 6f8f9fcc1e7f39d82b62780191d2f544cbe833d6ab5f268a1a5bc4b0288214e6 mesa-vdpau-23.1.1-01-x86_64.pkg.tar.lz -## 2afd2a6621ee73220d93edb0febae9432371e91d26c489aa6e85b94a07a1faa8 opencl-mesa-23.1.1-01-x86_64.pkg.tar.lz -## d731081f3166c9d40c0f21c525bea732323609838129f9cb2e7f23feb8d738b1 vulkan-intel-23.1.1-01-x86_64.pkg.tar.lz -## 27bdcaa32fdeb59d22030d486f9831eaf392d36908b183d9b599f307812504fd vulkan-mesa-layers-23.1.1-01-x86_64.pkg.tar.lz -## 15050a5e334dedcde1985e7aca1e72ac0ee16bd21afaf7527a5110f6626d5dc8 vulkan-radeon-23.1.1-01-x86_64.pkg.tar.lz -## a3992a49fc358c1be0c62b48a2d5f2c31d7f170a7e7793dc4d2e7ad59aedd693 vulkan-swrast-23.1.1-01-x86_64.pkg.tar.lz -## 0db2311ad8942e85a13018b18e0d3ca6159afdbc8c75bc765f8bae6dccb1ff51 vulkan-virtio-23.1.1-01-x86_64.pkg.tar.lz +## c5ef1f827381cc0bba45b2a4b0c6a102ec1f100df94b5ebe3531033c929869b3 libva-mesa-driver-23.1.2-01-x86_64.pkg.tar.lz +## 13e0cdc63b74af8e190cd2140c99d6bf310e9e06c818013b10b7efea293ffeb5 mesa-23.1.2-01-x86_64.pkg.tar.lz +## 3fd4509db3df944f1a126b47d4c911f26d47e65ad140b0423e510b3dfabf4a98 mesa-vdpau-23.1.2-01-x86_64.pkg.tar.lz +## 42954b32e64f36a2ada4df92b600f4d63215c039ff5e922339048a225f7530c0 opencl-mesa-23.1.2-01-x86_64.pkg.tar.lz +## 311bfb1ce95fe87ba5af2b6976c4b2c747483597e6d77f8fa13343316031b2fe vulkan-intel-23.1.2-01-x86_64.pkg.tar.lz +## dba699552d8d4a31052e80c16d937160dc0383888f6efb5b1cfdc55012c54a54 vulkan-mesa-layers-23.1.2-01-x86_64.pkg.tar.lz +## 6c2fbbef35f124747022ba618b266afcd26194941f775ef0e753538c1b959702 vulkan-radeon-23.1.2-01-x86_64.pkg.tar.lz +## 2202542c8762aa4e692a9aef2a750a137a20a53858774201580abeee848e89b3 vulkan-swrast-23.1.2-01-x86_64.pkg.tar.lz +## c14cf5c71d62a11c3fe891a131d04213a7878293d967c67f8f3f69354417167d vulkan-virtio-23.1.2-01-x86_64.pkg.tar.lz diff --git a/mesa/PKGBUILD-arch b/mesa/PKGBUILD-arch index d84ef58..12d6e3a 100644 --- a/mesa/PKGBUILD-arch +++ b/mesa/PKGBUILD-arch @@ -15,7 +15,7 @@ pkgname=( 'mesa-vdpau' 'mesa' ) -pkgver=23.1.1 +pkgver=23.1.2 pkgrel=1 pkgdesc="An open-source implementation of the OpenGL specification" url="https://www.mesa3d.org/" @@ -76,10 +76,10 @@ source=( https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} LICENSE ) -sha256sums=('a2679031ed5b73b29c4f042ac64d96f83b0cfe4858617de32e2efc196c653a40' +sha256sums=('60b1f3adb1561830c158bf3c68508943674fb9d69f384c3c7289694385ab5c7e' 'SKIP' '7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537') -b2sums=('b17a71205248f2e97c60aa944d8b5b19d51592ba9288d2f04a8498eabaa19308f7ec7a813b948d3fad1001ae14da8771e403c68f7a4159c7f3b8830b919d64dc' +b2sums=('a98dddf9c6cd0f69ec980e1080b53c92513ac03161dfba3355b83da674d6148dbd66c7e0403795eea7c3ce28fb5ff392a96607f34e4caf68a58ac8eb157cf146' 'SKIP' '1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov diff --git a/qt6-base/PKGBUILD b/qt6-base/PKGBUILD index 37a142a..9551336 100644 --- a/qt6-base/PKGBUILD +++ b/qt6-base/PKGBUILD @@ -8,7 +8,7 @@ pkgname=qt6-base _qtver=6.5.1 pkgver=${_qtver/-/} -pkgrel=01 +pkgrel=02 url='https://www.qt.io' pkgdesc='A cross-platform application and UI framework' depends=(libjpeg-turbo xcb-util-keysyms xcb-util-cursor libgl fontconfig xdg-utils @@ -28,13 +28,14 @@ groups=(qt6) #options=(debug) # uncomment this to have qt6-base-debug produced _pkgfn="${pkgname/6-/}-everywhere-src-$_qtver" source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz + qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8 qt6-base-cflags.patch qt6-base-nostrip.patch) prepare() { patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake - + patch -d $_pkgfn -p1 < qtbug-114204.patch # Fix vertical tabbar regression } build() { @@ -83,7 +84,8 @@ arch=(x86_64) license=(GPL3 LGPL3 FDL custom) sha256sums=(db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed # qtbase-everywhere-src-6.5.1.tar.xz + 1730b675ede24d80c2e73a2f662cc73718f3060c0b8a707784d188bb11297c4e # qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8 5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qt6-base-cflags.patch 4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094) # qt6-base-nostrip.patch -## 4a060c72e30a6d124a3caaaf6df428004d5be1fa21725d0313992fb96391fa05 qt6-base-6.5.1-01-x86_64.pkg.tar.lz +## 37227613bf890921255285164f24e19a7a931fa57dd018438b8f5ba67cd38b6a qt6-base-6.5.1-02-x86_64.pkg.tar.lz diff --git a/qt6-base/PKGBUILD-arch b/qt6-base/PKGBUILD-arch index 9a30f33..d14e27a 100644 --- a/qt6-base/PKGBUILD-arch +++ b/qt6-base/PKGBUILD-arch @@ -5,7 +5,7 @@ pkgname=qt6-base _qtver=6.5.1 pkgver=${_qtver/-/} -pkgrel=1 +pkgrel=2 arch=(x86_64) url='https://www.qt.io' license=(GPL3 LGPL3 FDL custom) @@ -26,15 +26,18 @@ optdepends=('qt6-wayland: to run Qt6 applications in a Wayland session' groups=(qt6) _pkgfn=${pkgname/6-/}-everywhere-src-$_qtver source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz + qtbug-114204.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9177dbd8 qt6-base-cflags.patch qt6-base-nostrip.patch) sha256sums=('db56fa1f4303a1189fe33418d25d1924931c7aef237f89eea9de58e858eebfed' + '1730b675ede24d80c2e73a2f662cc73718f3060c0b8a707784d188bb11297c4e' '5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78' '4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094') prepare() { patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake + patch -d $_pkgfn -p1 < qtbug-114204.patch # Fix vertical tabbar regression } build() { diff --git a/qt6-base/qtbug-114204.patch b/qt6-base/qtbug-114204.patch new file mode 100644 index 0000000..8d833ff --- /dev/null +++ b/qt6-base/qtbug-114204.patch @@ -0,0 +1,100 @@ +From 9177dbd87991ff277fd77a25c3464e259d11b998 Mon Sep 17 00:00:00 2001 +From: Volker Hilsheimer +Date: Mon, 5 Jun 2023 17:10:00 +0200 +Subject: QTabBar: recalculate scroll offset when showing + +If an application sets the current index and resizes the tab widget +before showing it, then the scroll offset might be calculated based on +an old size. Since after ca15f650a1a914bb9a41131109c46c4e52c5ebb1, +resizing explicitly avoids scrolling, this could result in tabs ending +up scrolled outside of the tab bar when showing the tab widget. + +Fix that by explicitly making the current tab visible in the tab bar's +showEvent handler, which recalculates the scroll offset based on the +actual size. + +This is only reproducible with a tab widget, which lays out the tab bar +for each change and resets the tab bar's layoutDirty flag. Add a test +case there. + +Fixes: QTBUG-114204 +Change-Id: I1e9506b9dde1dd892291d108dd2c7b675ef99509 +Reviewed-by: Axel Spoerl +Reviewed-by: Jonas Kvinge +(cherry picked from commit 2a7da1b3c8c4096d7c2b09f3fcc58e9cf47867cd) +Reviewed-by: Qt Cherry-pick Bot +--- + src/widgets/widgets/qtabbar.cpp | 2 ++ + .../widgets/widgets/qtabwidget/tst_qtabwidget.cpp | 37 ++++++++++++++++++++++ + 2 files changed, 39 insertions(+) + +diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp +index 7fd356280b..49137edf67 100644 +--- a/src/widgets/widgets/qtabbar.cpp ++++ b/src/widgets/widgets/qtabbar.cpp +@@ -1656,6 +1656,8 @@ void QTabBar::showEvent(QShowEvent *) + d->refresh(); + if (!d->validIndex(d->currentIndex)) + setCurrentIndex(0); ++ else ++ d->makeVisible(d->currentIndex); + d->updateMacBorderMetrics(); + } + +diff --git a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp +index 00cb26c2d3..eb29933fd1 100644 +--- a/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp ++++ b/tests/auto/widgets/widgets/qtabwidget/tst_qtabwidget.cpp +@@ -79,6 +79,9 @@ private slots: + void moveCurrentTab(); + void autoHide(); + ++ void setCurrentBeforeShow_data(); ++ void setCurrentBeforeShow(); ++ + private: + int addPage(); + void removePage(int index); +@@ -750,5 +753,39 @@ void tst_QTabWidget::autoHide() + QVERIFY(heightForWidth1 > tabWidget.heightForWidth(20)); + } + ++void tst_QTabWidget::setCurrentBeforeShow_data() ++{ ++ QTest::addColumn("tabPosition"); ++ QTest::newRow("West") << QTabWidget::West; ++ QTest::newRow("North") << QTabWidget::North; ++ QTest::newRow("East") << QTabWidget::East; ++ QTest::newRow("South") << QTabWidget::South; ++} ++ ++void tst_QTabWidget::setCurrentBeforeShow() ++{ ++ QFETCH(QTabWidget::TabPosition, tabPosition); ++ ++ QTabWidget tabWidget; ++ tabWidget.setTabPosition(tabPosition); ++ ++ QPixmap pm(50, 50); ++ pm.fill(Qt::red); ++ const QIcon icon(pm); ++ for (int i = 0; i < 4; ++i) ++ tabWidget.addTab(new QWidget, icon, QString("Tab %1").arg(i)); ++ ++ // the tab widget has space for the entire tab bar ++ tabWidget.resize(tabWidget.tabBar()->sizeHint() + QSize(50, 50)); ++ tabWidget.setCurrentIndex(2); ++ tabWidget.show(); ++ QVERIFY(QTest::qWaitForWindowExposed(&tabWidget)); ++ ++ QCOMPARE_GE(tabWidget.tabBar()->tabRect(0).x(), 0); ++ QCOMPARE_GE(tabWidget.tabBar()->tabRect(0).y(), 0); ++ ++ QTest::qWait(2000); ++} ++ + QTEST_MAIN(tst_QTabWidget) + #include "tst_qtabwidget.moc" +-- +cgit v1.2.3 +