From 7ad783765d7ba8aea767dbc146225040aaf96eca Mon Sep 17 00:00:00 2001 From: ck Date: Tue, 22 Oct 2019 20:30:50 +0800 Subject: [PATCH] fix: when query_info throw NOT_FOUND cond.wakeAll() will never call --- gio-qt/source/dgiofile.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gio-qt/source/dgiofile.cpp b/gio-qt/source/dgiofile.cpp index 847db68..3ab32e4 100644 --- a/gio-qt/source/dgiofile.cpp +++ b/gio-qt/source/dgiofile.cpp @@ -239,7 +239,12 @@ QExplicitlySharedDataPointer DGioFile::createFileInfo(QString attr QtConcurrent::run([&] { QTime t; t.start(); - gmmFileInfo = d->getGmmFileInstance()->query_info(attr.toStdString(), flags); + try { + gmmFileInfo = d->getGmmFileInstance()->query_info(attr.toStdString(), flags); + } catch (const Glib::Error &error) { + qDebug() << QString::fromStdString(error.what().raw()); + } + if (t.elapsed() < timeout_msec) { cond.wakeAll(); }