Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qt5: add patch for 5.15.13 to fix QDir::entryInfoList() with nameFilters #23873

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions recipes/qt/5.x.x/conandata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,19 +94,24 @@
- "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.9/single/qt-everywhere-opensource-src-5.15.9.tar.xz"
sha256: "26d5f36134db03abe4a6db794c7570d729c92a3fc1b0bf9b1c8f86d0573cd02f"
patches:
"5.15.13":
- "base_path": "qt5/qtbase"
"patch_file": "patches/aa2a39dea5.diff"

Check warning on line 99 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtbase ^ (line: 98)
- "base_path": "qt5/qtwebengine"
"patch_file": "patches/c72097e.diff"

Check warning on line 101 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtwebengine ^ (line: 100)
- "base_path": "qt5/qttools"
"patch_file": "patches/fix-macdeployqt.diff"

Check warning on line 103 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qttools ^ (line: 102)
- "base_path": "qt5/qtwebengine/src/3rdparty"
"patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch"

Check warning on line 105 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtwebengine/s ... ^ (line: 104)
- "base_path": "qt5/qtbase"
"patch_file": "patches/android-backtrace.diff"

Check warning on line 107 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtbase ^ (line: 106)
- "base_path": "qt5/qtbase"
"patch_file": "patches/android-openssl.diff"

Check warning on line 109 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtbase ^ (line: 108)
- "base_path": "qt5/qtbase"
"patch_description": "Fix QDir::entryInfoList() on Android when nameFilters used"
"patch_file": "patches/5.15.13-android-qdir-entryinfolist.patch"
"patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/476884"
"patch_type": "bugfix"
- "base_path": "qt5/qtbase"
"patch_description": "Fix qmake build with apple-clang>=15"
"patch_file": "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch"
Expand All @@ -118,15 +123,15 @@
"patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/482392"
"patch_type": "portability"
"5.15.12":
- "base_path": "qt5/qtbase"
"patch_file": "patches/aa2a39dea5.diff"
- "base_path": "qt5/qtwebengine"

Check warning on line 128 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtbase ^ (line: 127)
"patch_file": "patches/c72097e.diff"
- "base_path": "qt5/qttools"

Check warning on line 130 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtwebengine ^ (line: 129)
"patch_file": "patches/fix-macdeployqt.diff"
- "base_path": "qt5/qtwebengine/src/3rdparty/chromium/v8"

Check warning on line 132 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qttools ^ (line: 131)
"patch_file": "patches/chromium-v8-missing-constexpr.patch"
- "base_path": "qt5/qtwebengine/src/3rdparty"

Check warning on line 134 in recipes/qt/5.x.x/conandata.yml

View workflow job for this annotation

GitHub Actions / Lint changed files (YAML files)

conandata.yml schema warning

Schema outlined in https://github.com/conan-io/conan-center-index/blob/master/docs/adding_packages/conandata_yml_format.md#patches-fields is not followed. required key(s) 'patch_description', 'patch_type' not found in - base_path: qt5/qtwebengine/s ... ^ (line: 133)
"patch_file": "patches/chromium-skia-missing-iterator-include.patch"
- "base_path": "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia"
"patch_file": "patches/skia-cd397f3.diff"
Expand Down
39 changes: 39 additions & 0 deletions recipes/qt/5.x.x/patches/5.15.13-android-qdir-entryinfolist.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From f1778f34e0848bdcbe471c91f6ee7f9146e2d9f8 Mon Sep 17 00:00:00 2001
From: Assam Boudjelthia <assam.boudjelthia@qt.io>
Date: Wed, 10 May 2023 11:23:20 +0300
Subject: [PATCH] Android: fix QDir::entryInfoList() with content URIs

Correctly return only the fileName portion from
AndroidContentFileEngineIterator::currentFileName(); which
QDirIteratorPrivate::matchesFilters() expects when looking for matches
of the file pattern provided to the QDirIterator.

Fixes: QTBUG-112738
Pick-to: 6.5 6.2 5.15
Change-Id: I98dba2df014b27f33cd7e54fab3ad2de8c7c1750
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
---

diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp
index ed2238c..c86bbea 100644
--- a/src/plugins/platforms/android/androidcontentfileengine.cpp
+++ b/src/plugins/platforms/android/androidcontentfileengine.cpp
@@ -351,14 +351,14 @@
{
if (m_index < 0 || m_index > m_files.size())
return QString();
- // Returns a full path since contstructing a content path from the file name
- // and a tree URI only will not point to a valid file URI.
- return m_files.at(m_index)->uri().toString();
+ return m_files.at(m_index)->name();
}

QString AndroidContentFileEngineIterator::currentFilePath() const
{
- return currentFileName();
+ if (m_index < 0 || m_index > m_files.size())
+ return QString();
+ return m_files.at(m_index)->uri().toString();
}

// Start of Cursor
Loading