aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Tillmanns <marcus.tillmanns@qt.io>2023-08-22 10:57:33 +0200
committerMarcus Tillmanns <marcus.tillmanns@qt.io>2023-08-22 10:14:42 +0000
commit5399588e4d0174b55bba339e60d0dc7ed2d99bfc (patch)
tree69f0aab20b889a997dcc22d46da998740c92b85c
parent124cd2f31a81200b2d92f9bd524fe73b89b1835e (diff)
RemoteLinux: Don't use SFTP if source is remote
The SFTP does not work if the source files are on a remote devices so we fall back to generic copy in those cases. Fixes: QTCREATORBUG-29524 Change-Id: Iecb2723dfcbb65653ce6f793dc2d7253979540a5 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
-rw-r--r--src/plugins/remotelinux/linuxdevice.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index 05627ff886..97ea99a4dc 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -1461,6 +1461,11 @@ private:
FileTransferInterface *LinuxDevice::createFileTransferInterface(
const FileTransferSetupData &setup) const
{
+ if (Utils::anyOf(setup.m_files,
+ [](const FileToTransfer &f) { return f.m_source.needsDevice(); })) {
+ return new GenericTransferImpl(setup);
+ }
+
switch (setup.m_method) {
case FileTransferMethod::Sftp: return new SftpTransferImpl(setup, sharedFromThis());
case FileTransferMethod::Rsync: return new RsyncTransferImpl(setup, sharedFromThis());