[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/calligra/2.9] /: Use QFile::rename because KDE::rename does not work across devices
From:       Jaroslaw Staniek <staniek () kde ! org>
Date:       2015-02-28 21:58:13
Message-ID: E1YRpOn-0002f3-Tb () scm ! kde ! org
[Download RAW message or body]

Git commit 3e5abfcffbb968ec9836d9b9eb418a6854352e4d by Jaroslaw Staniek.
Committed on 28/02/2015 at 21:32.
Pushed by staniek into branch 'calligra/2.9'.

Use QFile::rename because KDE::rename does not work across devices

KDE::rename fail when source and destination sit on different devices
(errno == EXDEV -- Cross-device link)

This fixes status bar online updates when e.g. /tmp is on different \
partition than /home. The same fix has been made for compacting .kexi \
files.

M  +1    -1    kexi/main/startup/KexiWelcomeStatusBar.cpp
M  +1    -1    libs/db/drivers/sqlite/sqlitevacuum.cpp

http://commits.kde.org/calligra/3e5abfcffbb968ec9836d9b9eb418a6854352e4d

diff --git a/kexi/main/startup/KexiWelcomeStatusBar.cpp \
b/kexi/main/startup/KexiWelcomeStatusBar.cpp index 545fcb8..1cc4a9b 100644
--- a/kexi/main/startup/KexiWelcomeStatusBar.cpp
+++ b/kexi/main/startup/KexiWelcomeStatusBar.cpp
@@ -248,7 +248,7 @@ void \
                KexiWelcomeStatusBarGuiUpdater::filesCopyFinished(KJob* \
                job)
     QString dir(KStandardDirs::locateLocal("data", basePath() + '/', true \
/*create*/));  kDebug() << dir;
     foreach (const QString &fname, d->fileNamesToUpdate) {
-        if (0 != KDE::rename(d->tempDir + fname, dir + fname)) {
+        if (!QFile::rename(d->tempDir + fname, dir + fname)) {
             kWarning() << "cannot move" << (d->tempDir + fname) << "to" << \
(dir + fname);  }
     }
diff --git a/libs/db/drivers/sqlite/sqlitevacuum.cpp \
b/libs/db/drivers/sqlite/sqlitevacuum.cpp index f91e64d..b016033 100644
--- a/libs/db/drivers/sqlite/sqlitevacuum.cpp
+++ b/libs/db/drivers/sqlite/sqlitevacuum.cpp
@@ -198,7 +198,7 @@ void SQLiteVacuum::dumpProcessFinished(int exitCode, \
QProcess::ExitStatus exitSt  QFileInfo fi(m_filePath);
     const uint origSize = fi.size();
 
-    if (0 != KDE::rename(m_tmpFilePath, fi.absoluteFilePath())) {
+    if (!QFile::rename(m_tmpFilePath, fi.absoluteFilePath())) {
         kWarning() << "Rename" << m_tmpFilePath << "to" << \
fi.absoluteFilePath() << "failed.";  m_result = false;
     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic