[Pkg-owncloud-commits] [owncloud-client] 410/484: [Sharing] Make sure the file is actually synced to the server
Sandro Knauß
hefee-guest at moszumanska.debian.org
Wed Dec 16 00:38:14 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 9f15ba3972c806f836a2412339959b7dbbc806c7
Author: Roeland Jago Douma <rullzer at owncloud.com>
Date: Fri Nov 20 09:26:45 2015 +0100
[Sharing] Make sure the file is actually synced to the server
Before we attemt any sharing make sure the file is synced to the server.
---
src/gui/socketapi.cpp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/gui/socketapi.cpp b/src/gui/socketapi.cpp
index 3dde1e5..6dfbfd3 100644
--- a/src/gui/socketapi.cpp
+++ b/src/gui/socketapi.cpp
@@ -378,12 +378,23 @@ void SocketApi::command_SHARE(const QString& localFile, QIODevice* socket)
// if the folder isn't connected, don't open the share dialog
sendMessage(socket, message);
} else {
+ const QString file = QDir::cleanPath(localFile).mid(shareFolder->cleanPath().length()+1);
+ SyncFileStatus fileStatus = this->fileStatus(shareFolder, file);
+
+ // Verify the file is on the server (to our knowledge of course)
+ if (fileStatus.tag() != SyncFileStatus::STATUS_SYNC &&
+ fileStatus.tag() != SyncFileStatus::STATUS_UPDATED) {
+ const QString message = QLatin1String("SHARE:NOTSYNCED:")+QDir::toNativeSeparators(localFile);
+ sendMessage(socket, message);
+ return;
+ }
+
const QString folderForPath = shareFolder->path();
const QString remotePath = shareFolder->remotePath() + localFile.right(localFile.count()-folderForPath.count()+1);
// Can't share root folder
if (QDir::cleanPath(remotePath) == "/") {
- const QString message = QLatin1String("SHARE:CANNOTSHAREROOT:")+QDir::toNativeSeparators(localFile);
+ const QString message = QLatin1String("SHARE:CANNOTSHAREROOT:")+QDir::toNativeSeparators(localFile);
sendMessage(socket, message);
return;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list