diff options
-rw-r--r-- | media/mtp/MtpServer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index 51eb97f..1334e6c 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -1053,11 +1053,14 @@ MtpResponseCode MtpServer::doDeleteObject() { int result = mDatabase->getObjectFilePath(handle, filePath, fileLength, format); if (result == MTP_RESPONSE_OK) { ALOGV("deleting %s", (const char *)filePath); - deletePath((const char *)filePath); - return mDatabase->deleteFile(handle); - } else { - return result; + result = mDatabase->deleteFile(handle); + // Don't delete the actual files unless the database deletion is allowed + if (result == MTP_RESPONSE_OK) { + deletePath((const char *)filePath); + } } + + return result; } MtpResponseCode MtpServer::doGetObjectPropDesc() { |