From 5c286c09d7d6abd39db86ffc01181253b3244c7e Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Mon, 8 May 2023 15:42:26 +0800 Subject: [PATCH] fix: The session file have not closed after read end --- DSView/pv/dialogs/about.cpp | 1 + DSView/pv/mainwindow.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/DSView/pv/dialogs/about.cpp b/DSView/pv/dialogs/about.cpp index 661db864..ea10ee3d 100644 --- a/DSView/pv/dialogs/about.cpp +++ b/DSView/pv/dialogs/about.cpp @@ -101,6 +101,7 @@ About::About(QWidget *parent) : changlogs += line + "
"; } } + news.close(); QPixmap pix(":/icons/dsl_logo.svg"); QImage logo = pix.toImage(); diff --git a/DSView/pv/mainwindow.cpp b/DSView/pv/mainwindow.cpp index 8b13088b..425d8f93 100644 --- a/DSView/pv/mainwindow.cpp +++ b/DSView/pv/mainwindow.cpp @@ -621,8 +621,9 @@ namespace pv return false; } - QString sdata = QString::fromUtf8(sf.readAll()); + QString sdata = QString::fromUtf8(sf.readAll()); QJsonDocument sessionDoc = QJsonDocument::fromJson(sdata.toUtf8()); + sf.close(); _protocol_widget->del_all_protocol(); int ret = load_session_json(sessionDoc, bDone); @@ -1066,14 +1067,14 @@ namespace pv dsv_info("Store session to file: \"%s\"", name.toLocal8Bit().data()); - QFile sessionFile(name); - if (!sessionFile.open(QIODevice::WriteOnly | QIODevice::Text)) + QFile sf(name); + if (!sf.open(QIODevice::WriteOnly | QIODevice::Text)) { dsv_warn("%s", "Warning: Couldn't open session file to write!"); return false; } - QTextStream outStream(&sessionFile); + QTextStream outStream(&sf); encoding::set_utf8(outStream); QJsonObject sessionVar; @@ -1083,7 +1084,7 @@ namespace pv QJsonDocument sessionDoc(sessionVar); outStream << QString::fromUtf8(sessionDoc.toJson()); - sessionFile.close(); + sf.close(); return true; }