]> git.sur5r.net Git - minitube/blobdiff - debian/patches/proper-tempfiles
Refresh proper-tempfiles
[minitube] / debian / patches / proper-tempfiles
index bc4d1251a73549be10220872594e62400a6436a4..2f5d44d112f9e33bb3cb2fd30bbc71ceac647833 100644 (file)
@@ -6,29 +6,30 @@ Author: Jakob Haufe <sur5r@sur5r.net>
 Bug-Debian: http://bugs.debian.org/644935
 
 diff --git a/src/temporary.cpp b/src/temporary.cpp
-index 362cbd8..bebcd1f 100644
+index 2bf7fcd..0561ecb 100644
 --- a/src/temporary.cpp
 +++ b/src/temporary.cpp
-@@ -1,7 +1,7 @@
+@@ -21,52 +21,27 @@ $END_LICENSE */
  #include "temporary.h"
  #include "constants.h"
  
--static QList<QString> paths;
+-static QVector<QString> paths;
+-#ifdef APP_LINUX
+-static QString userName;
+-#endif
 +static QList<QTemporaryFile*> tempfiles;
- #ifdef Q_WS_X11
- static QString userName;
- #endif
-@@ -10,43 +10,21 @@ Temporary::Temporary() { }
- QString Temporary::filename() {
  
--    static const QString tempDir = QDesktopServices::storageLocation(QDesktopServices::TempLocation);
-+    QTemporaryFile *tempfile = new QTemporaryFile(QDir::tempPath() + "/" + Constants::UNIX_NAME + "-XXXXXX");
+ Temporary::Temporary() { }
  
--    QString tempFile = tempDir + "/" + Constants::UNIX_NAME + "-" + QString::number(qrand());
-+    tempfiles << tempfile;
+ QString Temporary::filename() {
+-    static const QString tempDir = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
++    QTemporaryFile *tempfile = new QTemporaryFile(QDir::tempPath() + "/" + QString::number(qrand()));
++    tempfiles += tempfile;
  
--#ifdef Q_WS_X11
+-    QString tempFile = tempDir + "/" + Constants::UNIX_NAME + "-" +
+-                       QString::number(QRandomGenerator::global()->generate());
+-
+-#ifdef APP_LINUX
 -    if (userName.isNull()) {
 -        userName = QString(getenv("USERNAME"));
 -        if (userName.isEmpty())
@@ -42,11 +43,8 @@ index 362cbd8..bebcd1f 100644
 -
 -    if (QFile::exists(tempFile) && !QFile::remove(tempFile)) {
 -        qDebug() << "Cannot remove temp file" << tempFile;
-+    if (tempfiles.size() > 1) {
-+        QTemporaryFile *removedFile = tempfiles.takeFirst();
-+        delete removedFile;
-     }
+-    }
+-
 -    paths << tempFile;
 -
 -    if (paths.size() > 1) {
@@ -54,16 +52,20 @@ index 362cbd8..bebcd1f 100644
 -        if (QFile::exists(removedFile) && !QFile::remove(removedFile)) {
 -            qDebug() << "Cannot remove temp file" << removedFile;
 -        }
--    }
--
++    if(tempfiles.size() > 1)
++    {
++        QTemporaryFile *removedFile = tempfiles.takeFirst();
++        delete removedFile;
+     }
 -    return tempFile;
--
 +    tempfile->open();
 +    return tempfile->fileName();
  }
  
  void Temporary::deleteAll() {
--    foreach(QString path, paths) {
+-    foreach(const QString &path, paths) {
 -        if (QFile::exists(path) && !QFile::remove(path)) {
 -            qDebug() << "Cannot remove temp file" << path;
 -        }
@@ -72,10 +74,10 @@ index 362cbd8..bebcd1f 100644
      }
  }
 diff --git a/src/temporary.h b/src/temporary.h
-index 50b9633..0453572 100644
+index de5e24d..b8fbba9 100644
 --- a/src/temporary.h
 +++ b/src/temporary.h
-@@ -3,6 +3,7 @@
+@@ -23,6 +23,7 @@ $END_LICENSE */
  
  #include <QtCore>
  #include <QDesktopServices>