Warning, /graphics/krita/3rdparty/ext_qt/0009-Also-fall-back-to-direct-write-for-Android-content-U.patch is written in an unsupported language. File is not indexed.
0001 From 93468d620e8e215579e73a6d7c93283519166da5 Mon Sep 17 00:00:00 2001 0002 From: Volker Krause <vkrause@kde.org> 0003 Date: Fri, 16 Aug 2019 18:59:03 +0200 0004 Subject: [PATCH 09/46] Also fall back to direct write for Android content: 0005 URLs in QSaveFile 0006 0007 We cannot rename into content: URLs, so that is the only option, and this 0008 is particularly relevant here as the native file dialog will give us 0009 content: URLs by default for saving to. 0010 0011 Change-Id: Ie96fcfc404a0842d397c7d1554e3c76f06bb3074 0012 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> 0013 --- 0014 src/corelib/io/qsavefile.cpp | 14 +++++++++----- 0015 1 file changed, 9 insertions(+), 5 deletions(-) 0016 0017 diff --git a/src/corelib/io/qsavefile.cpp b/src/corelib/io/qsavefile.cpp 0018 index fac8892da2..7ee9142e14 100644 0019 --- a/src/corelib/io/qsavefile.cpp 0020 +++ b/src/corelib/io/qsavefile.cpp 0021 @@ -244,9 +244,15 @@ bool QSaveFile::open(OpenMode mode) 0022 return false; 0023 }; 0024 0025 + bool requiresDirectWrite = false; 0026 #ifdef Q_OS_WIN 0027 // check if it is an Alternate Data Stream 0028 - if (d->finalFileName == d->fileName && d->fileName.indexOf(QLatin1Char(':'), 2) > 1) { 0029 + requiresDirectWrite = d->finalFileName == d->fileName && d->fileName.indexOf(QLatin1Char(':'), 2) > 1; 0030 +#elif defined(Q_OS_ANDROID) 0031 + // check if it is a content:// URL 0032 + requiresDirectWrite = d->fileName.startsWith(QLatin1String("content://")); 0033 +#endif 0034 + if (requiresDirectWrite) { 0035 // yes, we can't rename onto it... 0036 if (d->directWriteFallback) { 0037 if (openDirectly()) 0038 @@ -256,14 +262,12 @@ bool QSaveFile::open(OpenMode mode) 0039 d->fileEngine = 0; 0040 } else { 0041 QString msg = 0042 - QSaveFile::tr("QSaveFile cannot open '%1' without direct write fallback " 0043 - "enabled: path contains an Alternate Data Stream specifier") 0044 - .arg(QDir::toNativeSeparators(d->fileName)); 0045 + QSaveFile::tr("QSaveFile cannot open '%1' without direct write fallback enabled.") 0046 + .arg(QDir::toNativeSeparators(d->fileName)); 0047 d->setError(QFileDevice::OpenError, msg); 0048 } 0049 return false; 0050 } 0051 -#endif 0052 0053 d->fileEngine = new QTemporaryFileEngine(&d->finalFileName, QTemporaryFileEngine::Win32NonShared); 0054 // if the target file exists, we'll copy its permissions below, 0055 -- 0056 2.33.0 0057