diff --git a/qt/FreeSpaceLabel.cc b/qt/FreeSpaceLabel.cc index f566069d5..393eb8597 100644 --- a/qt/FreeSpaceLabel.cc +++ b/qt/FreeSpaceLabel.cc @@ -73,37 +73,29 @@ void FreeSpaceLabel::onTimer() auto* q = new RpcQueue(this); - auto* alive = new bool(true); - connect(this, &QObject::destroyed, [alive] { *alive = false; }); - q->add([this, &args]() { return session_->exec("free-space", &args); }); - q->add([this, alive](RpcResponse const& r) + q->add([this](RpcResponse const& r) { - if (*alive) + // update the label + auto const bytes = dictFind(r.args.get(), TR_KEY_size_bytes); + if (bytes && *bytes > 1) { - // update the label - auto const bytes = dictFind(r.args.get(), TR_KEY_size_bytes); - if (bytes && *bytes > 1) - { - setText(tr("%1 free").arg(Formatter::get().sizeToString(*bytes))); - } - else - { - clear(); - } - - // update the tooltip - auto const path = dictFind(r.args.get(), TR_KEY_path); - setToolTip(QDir::toNativeSeparators(path ? *path : QString())); - - timer_.start(); + setText(tr("%1 free").arg(Formatter::get().sizeToString(*bytes))); + } + else + { + setText(QString()); } - delete alive; + // update the tooltip + auto const path = dictFind(r.args.get(), TR_KEY_path); + setToolTip(QDir::toNativeSeparators(path ? *path : QString())); + + timer_.start(); }); q->run();