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