Skip to content
Snippets Groups Projects
Commit f457ed50 authored by Liam Coursodon's avatar Liam Coursodon
Browse files

qt6.5: update to Qt 6.5.3

Change-Id: I43838bf36ee0d174834e5312f62865b56a77484b
parent ed78c35f
No related branches found
Tags beta/202402071743
No related merge requests found
Showing
with 373 additions and 1617 deletions
......@@ -7,9 +7,9 @@ There are essentially two ways to build `client-qt`:
## Disclaimer
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.4 is necessary.
Because the client-qt is multi-platforms and supporting macOS, we need a recent version of Qt to do rendering with Metal. So, Qt 6.5 is necessary.
This version is generally not packaged on a lot of platforms, and to control available plugins and such, we have our own Qt packaged (available on https://jami.net on the distributions we support).
So, you will need to get Qt 6.4 first. For this, there is 3 methods:
So, you will need to get Qt 6.5 first. For this, there is 3 methods:
### Qt from our repo (recommended)
......@@ -49,7 +49,7 @@ sudo dnf update && sudo dnf install jami-libqt
### Qt from your distribution
If Qt 6.4 is available, you can use the packages from your distribution:
If Qt 6.5 is available, you can use the packages from your distribution:
It should be (For now qt5 only is packaged by distributions, so names can change).
......@@ -118,7 +118,7 @@ Then, you can build daemon and the client using:
If you use a Qt version that is not system-wide installed, you need to
specify its path using the `--qt` flag, e.g.
`./build.py --install --qt=/home/<username>/Qt/6.4.1/gcc_64`.
`./build.py --install --qt=/home/<username>/Qt/6.5.1/gcc_64`.
Now you will have the daemon in `daemon/bin/dbus/jamid` and the client in
`build/jami`. You can now run Jami using:
......@@ -134,7 +134,7 @@ Notes:
## Build only the client
In order to use the Qt Client it is necessary to have the Qt version 6.4 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
In order to use the Qt Client it is necessary to have the Qt version 6.5 or higher. If your system does not have it you can install it [from sources or download the binary installer](https://www.qt.io/download).
## Build only this repository
......@@ -184,7 +184,7 @@ Only 64-bit MSVC build can be compiled.
- Download [Qt (Open Source)](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5)
- Using the online installer, install the following Qt 6.4.3 components:
- Using the online installer, install the following Qt 6.5.3 components:
- Git 2.10.2
- MSVC 2019 64-bit
......@@ -207,7 +207,7 @@ Only 64-bit MSVC build can be compiled.
| | Qt Version |
| -------------------- | ---------- |
| Minimum requirement: | 6.4.3 |
| Minimum requirement: | 6.5.3 |
- Install [Python3](https://www.python.org/downloads/) for Windows
......@@ -233,7 +233,7 @@ Only 64-bit MSVC build can be compiled.
- Using a new **Non-Elevated Command Prompt**
```bash
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
python build.py --install --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.5.3/msvc2019_64)
```
> **SDK** Note:
......@@ -276,7 +276,7 @@ Once the build has finished, you should then be able to use the Visual Studio So
```
python extras\scripts\build-windows.py --init
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.4.3/msvc2019_64)
python extras\scripts\build-windows.py --qt <path-to-qt-bin-folder> (e.g. C:/Qt/6.5.3/msvc2019_64)
```
## Building On MacOS
......@@ -286,9 +286,9 @@ Once the build has finished, you should then be able to use the Visual Studio So
- macOS minimum version 10.15
- install python3
- download xcode
- install Qt 6.4
- install Qt 6.5
Qt 6.4 can be installed via brew
Qt 6.5 can be installed via brew
```bash
brew install qt
......
......@@ -46,10 +46,10 @@ DEBIAN_DSC_FILENAME := jami_$(DEBIAN_VERSION).dsc
# Qt versions
QT_MAJOR := 6
QT_MINOR := 4
QT_MINOR := 5
QT_PATCH := 3
QT_TARBALL_CHECKSUM := 29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-3
QT_TARBALL_CHECKSUM := 7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb
DEBIAN_QT_VERSION := $(QT_MAJOR).$(QT_MINOR).$(QT_PATCH)-0
DEBIAN_QT_DSC_FILENAME := libqt-jami_$(DEBIAN_QT_VERSION).dsc
QT_JAMI_PREFIX := /usr/lib/libqt-jami
......
......@@ -18,7 +18,7 @@ RUN /opt/prebuild-package-debian.sh qt-deps
COPY extras/packaging/gnu-linux/rules/debian/control /tmp/builddeps/debian/control
RUN /opt/prebuild-package-debian.sh jami-deps
# Install CMake 3.19 for Qt 6
# Install CMake 3.20 for Qt 6
ADD extras/packaging/gnu-linux/scripts/install-cmake.sh /opt/install-cmake.sh
RUN /opt/install-cmake.sh
......
......@@ -70,7 +70,8 @@ RUN zypper --non-interactive install -y \
nodejs12 \
mozilla-nss-devel \
python-xml \
python-six \
python3-six \
python3-importlib-metadata \
libxcb* \
libxkb* \
libX11-devel \
......
From ecae5d93b0a89e2b8c16a2227b2d176f58579d04 Mon Sep 17 00:00:00 2001
From: Rémi Denis-Courmont <remi@remlab.net>
Date: Sun, 16 Jul 2023 18:18:02 +0300
Subject: [PATCH] Fix ffmpeg assembly with newer binutil
avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
Fixes assembling with binutil as >= 2.41
FFmpeg commit effadce6c756247ea8bae32dc13bb3e6f464f0eb.
Deals with: "Error: operand type mismatch for `shr'"
Fixes: QTBUG-116649
Change-Id: I094e8c23fed4a61fba3f1e3a9c73c016d129d830
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/495990
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 29354c7c7def7bdc66bcd25d401677fd9421f657)
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/509219
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
index 6298f5e..ca7e2df 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
@@ -35,12 +35,20 @@
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
{
int rt, dummy;
+ if (__builtin_constant_p(shift))
__asm__ (
"imull %3 \n\t"
"shrdl %4, %%edx, %%eax \n\t"
:"=a"(rt), "=d"(dummy)
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
);
+ else
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
+ );
return rt;
}
@@ -113,19 +121,31 @@
// avoid +32 for shift optimization (gcc should do that ...)
#define NEG_SSR32 NEG_SSR32
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("sarl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}
#define NEG_USR32 NEG_USR32
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("shrl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Date: Mon, 29 May 2023 13:09:53 -0400
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
Using O_PATH requires correctly specifying whether the fd is writable or
not. Stating that the fd is writable without it actually being writable
results into rejection on xdg-desktop-portal side. Other implementations
like xdg-open or gtk have also moved away from O_PATH fds so this will
make a matching implementation and avoid possible rejections from xdp.
Fixes: QTBUG-113143
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
---
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
index a0e5466c58..fe0fdaa625 100644
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
// handle_token (s) - A string that will be used as the last element of the @handle.
// writable (b) - Whether to allow the chosen application to write to the file.
-#ifdef O_PATH
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
if (fd != -1) {
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
"/org/freedesktop/portal/desktop"_L1,
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
QDBusUnixFileDescriptor descriptor;
descriptor.giveFileDescriptor(fd);
- const QVariantMap options = {{"writable"_L1, true}};
+ const QVariantMap options = {};
// FIXME parent_window_id
message << QString() << QVariant::fromValue(descriptor) << options;
return QDBusConnection::sessionBus().call(message);
}
-#else
- Q_UNUSED(url);
-#endif
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
}
--
2.40.1
qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
index 3488120..120e47a 100644
--- a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
+++ b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
@@ -472,7 +472,7 @@ void TokenizeBinary(TokenList& output_tokens, const char* input, size_t length)
}
catch (const DeadlyImportError& e)
{
- if (!is64bits && (length > std::numeric_limits<std::uint32_t>::max())) {
+ if (!is64bits && (length > std::numeric_limits<uint32_t>::max())) {
throw DeadlyImportError("The FBX file is invalid. This may be because the content is too big for this older version (", ai_to_string(version), ") of the FBX format. (", e.what(), ")");
}
throw;
diff --git a/qtbase/src/corelib/global/qnamespace.h b/qtbase/src/corelib/global/qnamespace.h
index 8a2769a3ed..584d3620c9 100644
--- a/qtbase/src/corelib/global/qnamespace.h
+++ b/qtbase/src/corelib/global/qnamespace.h
@@ -832,10 +832,6 @@ namespace Qt {
Key_Dead_Small_Schwa = 0x0100128a,
Key_Dead_Capital_Schwa = 0x0100128b,
Key_Dead_Greek = 0x0100128c,
- Key_Dead_Lowline = 0x01001290,
- Key_Dead_Aboveverticalline = 0x01001291,
- Key_Dead_Belowverticalline = 0x01001292,
- Key_Dead_Longsolidusoverlay = 0x01001293,
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
Key_Back = 0x01000061,
diff --git a/qtbase/src/corelib/global/qnamespace.qdoc b/qtbase/src/corelib/global/qnamespace.qdoc
index 78c69176d8..1623517b5a 100644
--- a/qtbase/src/corelib/global/qnamespace.qdoc
+++ b/qtbase/src/corelib/global/qnamespace.qdoc
@@ -1654,10 +1654,6 @@
\value Key_Dead_Small_Schwa
\value Key_Dead_Capital_Schwa
\value Key_Dead_Greek
- \value Key_Dead_Lowline
- \value Key_Dead_Aboveverticalline
- \value Key_Dead_Belowverticalline
- \value Key_Dead_Longsolidusoverlay
\value Key_Back
\value Key_Forward
\value Key_Stop
diff --git a/qtbase/src/gui/platform/unix/qxkbcommon.cpp b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
index fc014b38e2..af1cbbd42a 100644
--- a/qtbase/src/gui/platform/unix/qxkbcommon.cpp
+++ b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
@@ -239,10 +239,6 @@ static constexpr const auto KeyTbl = qMakeArray(
Xkb2Qt<XKB_KEY_dead_small_schwa, Qt::Key_Dead_Small_Schwa>,
Xkb2Qt<XKB_KEY_dead_capital_schwa, Qt::Key_Dead_Capital_Schwa>,
Xkb2Qt<XKB_KEY_dead_greek, Qt::Key_Dead_Greek>,
- Xkb2Qt<XKB_KEY_dead_lowline, Qt::Key_Dead_Lowline>,
- Xkb2Qt<XKB_KEY_dead_aboveverticalline, Qt::Key_Dead_Aboveverticalline>,
- Xkb2Qt<XKB_KEY_dead_belowverticalline, Qt::Key_Dead_Belowverticalline>,
- Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
// Special keys from X.org - This include multimedia keys,
// wireless/bluetooth/uwb keys, special launcher keys, etc.
qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp b/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
index ec212f5a35..58bf4dce7d 100644
--- a/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
+++ b/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
@@ -37,7 +37,10 @@ static Libs loadLibs()
return {};
}
-constexpr size_t symbolsCount = 39
+constexpr size_t symbolsCount = 38
+#if VA_CHECK_VERSION(1, 9, 0)
+ + 1
+#endif
#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
+ 1
#endif
@@ -79,7 +82,9 @@ DEFINE_FUNC(vaEndPicture, 2, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaCreateBuffer, 7, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaMapBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaUnmapBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
+#if VA_CHECK_VERSION(1, 9, 0)
DEFINE_FUNC(vaSyncBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
+#endif
DEFINE_FUNC(vaDestroyBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaCreateSurfaces, 8, VA_STATUS_ERROR_OPERATION_FAILED);
0001-fix-gcc13.patch
0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
0003-fix-mathops.patch
0004-fix-binary-tokenizer.patch
0005-importlib.patch
\ No newline at end of file
0001-fix-mathops.patch
0002-fix-binary-tokenizer.patch
0015-remove-deleted-xkb-keys.patch
0016-fix-vaapi.patch
\ No newline at end of file
......@@ -68,7 +68,7 @@ Depends: gnupg,
Replaces: jami,
jami-libclient,
jami-daemon,
libqt-jami (>= 6.4.3),
libqt-jami (>= 6.5.3),
Conflicts: jami,
jami-libclient,
jami-libclient-gnome,
......@@ -84,7 +84,7 @@ Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
jami-daemon (=${binary:Version}),
libqt-jami (>= 6.4.3)
libqt-jami (>= 6.5.3)
Provides: jami-qt
Replaces: jami-all,
jami-libclient (<= 20220516.0214.9b42ad3~dfsg1-1)
......
......@@ -26,11 +26,10 @@ License: GPLv3+
Vendor: Savoir-faire Linux Inc.
URL: https://jami.net/
Source: jami-libqt-%{version}.tar.xz
Patch0: 0001-fix-gcc13.patch
Patch1: 0002-OpenFile-portal-do-not-use-O_PATH-fds.patch
Patch2: 0003-fix-mathops.patch
Patch3: 0004-fix-binary-tokenizer.patch
Patch4: 0005-importlib.patch
Patch0: 0001-fix-mathops.patch
Patch1: 0002-fix-binary-tokenizer.patch
Patch2: 0015-remove-deleted-xkb-keys.patch
Patch3: 0016-fix-vaapi.patch
%global gst 0.10
%if 0%{?fedora} || 0%{?rhel} > 7
......@@ -45,13 +44,13 @@ BuildRequires: bison
BuildRequires: gperf
BuildRequires: flex
BuildRequires: vulkan-devel
BuildRequires: python-six
%if %{defined suse_version}
BuildRequires: ffmpeg-devel
BuildRequires: ffmpeg
BuildRequires: python-xml
BuildRequires: mozilla-nss-devel
%else
BuildRequires: python-six
BuildRequires: pkgconfig(gstreamer-%{gst})
BuildRequires: pkgconfig(gstreamer-app-%{gst})
BuildRequires: pkgconfig(gstreamer-audio-%{gst})
......@@ -70,7 +69,6 @@ This package contains Qt libraries for Jami.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
echo "Building Qt using %{job_count} parallel jobs"
......
This diff is collapsed.
From ecae5d93b0a89e2b8c16a2227b2d176f58579d04 Mon Sep 17 00:00:00 2001
From: Rémi Denis-Courmont <remi@remlab.net>
Date: Sun, 16 Jul 2023 18:18:02 +0300
Subject: [PATCH] Fix ffmpeg assembly with newer binutil
avcodec/x86/mathops: clip constants used with shift instructions within inline assembly
Fixes assembling with binutil as >= 2.41
FFmpeg commit effadce6c756247ea8bae32dc13bb3e6f464f0eb.
Deals with: "Error: operand type mismatch for `shr'"
Fixes: QTBUG-116649
Change-Id: I094e8c23fed4a61fba3f1e3a9c73c016d129d830
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/495990
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 29354c7c7def7bdc66bcd25d401677fd9421f657)
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/509219
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
index 6298f5e..ca7e2df 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
@@ -35,12 +35,20 @@
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
{
int rt, dummy;
+ if (__builtin_constant_p(shift))
__asm__ (
"imull %3 \n\t"
"shrdl %4, %%edx, %%eax \n\t"
:"=a"(rt), "=d"(dummy)
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
);
+ else
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
+ );
return rt;
}
@@ -113,19 +121,31 @@
// avoid +32 for shift optimization (gcc should do that ...)
#define NEG_SSR32 NEG_SSR32
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("sarl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}
#define NEG_USR32 NEG_USR32
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+ if (__builtin_constant_p(s))
__asm__ ("shrl %1, %0\n\t"
: "+r" (a)
- : "ic" ((uint8_t)(-s))
+ : "i" (-s & 0x1F)
);
+ else
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+ : "c" ((uint8_t)(-s))
+ );
return a;
}
From f4410fcbb093f259eaff4a20fc4266a535479235 Mon Sep 17 00:00:00 2001
From: Sebastien Blin <sebastien.blin@savoirfairelinux.com>
Date: Mon, 29 May 2023 13:09:53 -0400
Subject: [PATCH] OpenFile portal: do not use O_PATH fds
Using O_PATH requires correctly specifying whether the fd is writable or
not. Stating that the fd is writable without it actually being writable
results into rejection on xdg-desktop-portal side. Other implementations
like xdg-open or gtk have also moved away from O_PATH fds so this will
make a matching implementation and avoid possible rejections from xdp.
Fixes: QTBUG-113143
Original: https://codereview.qt-project.org/c/qt/qtbase/+/475425
---
qtbase/src/gui/platform/unix/qgenericunixservices.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
index a0e5466c58..fe0fdaa625 100644
--- a/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
+++ b/qtbase/src/gui/platform/unix/qgenericunixservices.cpp
@@ -163,8 +163,7 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
// handle_token (s) - A string that will be used as the last element of the @handle.
// writable (b) - Whether to allow the chosen application to write to the file.
-#ifdef O_PATH
- const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_PATH);
+ const int fd = qt_safe_open(QFile::encodeName(url.toLocalFile()), O_RDONLY);
if (fd != -1) {
QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.portal.Desktop"_L1,
"/org/freedesktop/portal/desktop"_L1,
@@ -174,16 +173,13 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
QDBusUnixFileDescriptor descriptor;
descriptor.giveFileDescriptor(fd);
- const QVariantMap options = {{"writable"_L1, true}};
+ const QVariantMap options = {};
// FIXME parent_window_id
message << QString() << QVariant::fromValue(descriptor) << options;
return QDBusConnection::sessionBus().call(message);
}
-#else
- Q_UNUSED(url);
-#endif
return QDBusMessage::createError(QDBusError::InternalError, qt_error_string());
}
--
2.40.1
qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
index 3488120..120e47a 100644
--- a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
+++ b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
@@ -472,7 +472,7 @@ void TokenizeBinary(TokenList& output_tokens, const char* input, size_t length)
}
catch (const DeadlyImportError& e)
{
- if (!is64bits && (length > std::numeric_limits<std::uint32_t>::max())) {
+ if (!is64bits && (length > std::numeric_limits<uint32_t>::max())) {
throw DeadlyImportError("The FBX file is invalid. This may be because the content is too big for this older version (", ai_to_string(version), ") of the FBX format. (", e.what(), ")");
}
throw;
diff --git a/qtbase/src/corelib/global/qnamespace.h b/qtbase/src/corelib/global/qnamespace.h
index 8a2769a3ed..584d3620c9 100644
--- a/qtbase/src/corelib/global/qnamespace.h
+++ b/qtbase/src/corelib/global/qnamespace.h
@@ -832,10 +832,6 @@ namespace Qt {
Key_Dead_Small_Schwa = 0x0100128a,
Key_Dead_Capital_Schwa = 0x0100128b,
Key_Dead_Greek = 0x0100128c,
- Key_Dead_Lowline = 0x01001290,
- Key_Dead_Aboveverticalline = 0x01001291,
- Key_Dead_Belowverticalline = 0x01001292,
- Key_Dead_Longsolidusoverlay = 0x01001293,
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
Key_Back = 0x01000061,
diff --git a/qtbase/src/corelib/global/qnamespace.qdoc b/qtbase/src/corelib/global/qnamespace.qdoc
index 78c69176d8..1623517b5a 100644
--- a/qtbase/src/corelib/global/qnamespace.qdoc
+++ b/qtbase/src/corelib/global/qnamespace.qdoc
@@ -1654,10 +1654,6 @@
\value Key_Dead_Small_Schwa
\value Key_Dead_Capital_Schwa
\value Key_Dead_Greek
- \value Key_Dead_Lowline
- \value Key_Dead_Aboveverticalline
- \value Key_Dead_Belowverticalline
- \value Key_Dead_Longsolidusoverlay
\value Key_Back
\value Key_Forward
\value Key_Stop
diff --git a/qtbase/src/gui/platform/unix/qxkbcommon.cpp b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
index fc014b38e2..af1cbbd42a 100644
--- a/qtbase/src/gui/platform/unix/qxkbcommon.cpp
+++ b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
@@ -239,10 +239,6 @@ static constexpr const auto KeyTbl = qMakeArray(
Xkb2Qt<XKB_KEY_dead_small_schwa, Qt::Key_Dead_Small_Schwa>,
Xkb2Qt<XKB_KEY_dead_capital_schwa, Qt::Key_Dead_Capital_Schwa>,
Xkb2Qt<XKB_KEY_dead_greek, Qt::Key_Dead_Greek>,
- Xkb2Qt<XKB_KEY_dead_lowline, Qt::Key_Dead_Lowline>,
- Xkb2Qt<XKB_KEY_dead_aboveverticalline, Qt::Key_Dead_Aboveverticalline>,
- Xkb2Qt<XKB_KEY_dead_belowverticalline, Qt::Key_Dead_Belowverticalline>,
- Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
// Special keys from X.org - This include multimedia keys,
// wireless/bluetooth/uwb keys, special launcher keys, etc.
qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp b/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
index ec212f5a35..58bf4dce7d 100644
--- a/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
+++ b/qtmultimedia/src/plugins/multimedia/ffmpeg/qffmpegvaapisymbols.cpp
@@ -37,7 +37,10 @@ static Libs loadLibs()
return {};
}
-constexpr size_t symbolsCount = 39
+constexpr size_t symbolsCount = 38
+#if VA_CHECK_VERSION(1, 9, 0)
+ + 1
+#endif
#ifdef DYNAMIC_RESOLVE_VA_DRM_SYMBOLS
+ 1
#endif
@@ -79,7 +82,9 @@ DEFINE_FUNC(vaEndPicture, 2, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaCreateBuffer, 7, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaMapBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaUnmapBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
+#if VA_CHECK_VERSION(1, 9, 0)
DEFINE_FUNC(vaSyncBuffer, 3, VA_STATUS_ERROR_OPERATION_FAILED);
+#endif
DEFINE_FUNC(vaDestroyBuffer, 2, VA_STATUS_ERROR_OPERATION_FAILED);
DEFINE_FUNC(vaCreateSurfaces, 8, VA_STATUS_ERROR_OPERATION_FAILED);
......@@ -44,9 +44,9 @@ LD_LIBRARY_PATH="${QT_JAMI_PREFIX}/lib:${LD_LIBRARY_PATH}"
PKG_CONFIG_PATH="${QT_JAMI_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
CMAKE_PREFIX_PATH="${QT_JAMI_PREFIX}/lib/cmake:${CMAKE_PREFIX_PATH}"
QT_MAJOR=6
QT_MINOR=4
QT_MINOR=5
QT_PATCH=3
QT_RELEASE_PATCH=3
QT_RELEASE_PATCH=0
QT_MAJOR_MINOR=${QT_MAJOR}.${QT_MINOR}
QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
......@@ -54,7 +54,7 @@ QT_MAJOR_MINOR_PATCH=${QT_MAJOR}.${QT_MINOR}.${QT_PATCH}
QT_TARBALL_URL=https://download.qt.io/archive/qt/$QT_MAJOR_MINOR/\
$QT_MAJOR_MINOR_PATCH/single/qt-everywhere-src-$QT_MAJOR_MINOR_PATCH.tar.xz
QT_TARBALL_SHA256="29a7eebdbba0ea57978dea6083709c93593a60f0f3133a3de08b9571ee8eaab4"
QT_TARBALL_SHA256="7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb"
QT_TARBALL_FILE_NAME=$(basename "$QT_TARBALL_URL")
CACHED_QT_TARBALL=$TARBALLS/$QT_TARBALL_FILE_NAME
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment