Fix crash when smartStatus is nullptr.

This commit is contained in:
Chantara Tith 2016-08-08 04:51:27 +07:00 committed by Andrius Štikonas
parent 175ea6a5ed
commit 92cbb1f6dc
1 changed files with 14 additions and 9 deletions

View File

@ -119,18 +119,23 @@ void DevicePropsDialog::setupDialog()
dialogWidget().primariesMax().setText(maxPrimaries); dialogWidget().primariesMax().setText(maxPrimaries);
dialogWidget().logicalSectorSize().setText(Capacity::formatByteSize(disk.logicalSectorSize())); dialogWidget().logicalSectorSize().setText(Capacity::formatByteSize(disk.logicalSectorSize()));
dialogWidget().physicalSectorSize().setText(Capacity::formatByteSize(disk.physicalSectorSize())); dialogWidget().physicalSectorSize().setText(Capacity::formatByteSize(disk.physicalSectorSize()));
} if (device().smartStatus().isValid()) {
if (device().smartStatus().status()) {
if (device().smartStatus().isValid()) { dialogWidget().smartStatusText().setText(xi18nc("@label SMART disk status", "good"));
if (device().smartStatus().status()) { dialogWidget().smartStatusIcon().setPixmap(QIcon::fromTheme(QStringLiteral("dialog-ok")).pixmap(IconSize(KIconLoader::Small)));
dialogWidget().smartStatusText().setText(xi18nc("@label SMART disk status", "good")); } else {
dialogWidget().smartStatusIcon().setPixmap(QIcon::fromTheme(QStringLiteral("dialog-ok")).pixmap(IconSize(KIconLoader::Small))); dialogWidget().smartStatusText().setText(xi18nc("@label SMART disk status", "BAD"));
dialogWidget().smartStatusIcon().setPixmap(QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(IconSize(KIconLoader::Small)));
}
} else { } else {
dialogWidget().smartStatusText().setText(xi18nc("@label SMART disk status", "BAD")); dialogWidget().smartStatusText().setText(xi18nc("@label", "(unknown)"));
dialogWidget().smartStatusIcon().setPixmap(QIcon::fromTheme(QStringLiteral("dialog-warning")).pixmap(IconSize(KIconLoader::Small))); dialogWidget().smartStatusIcon().setVisible(false);
dialogWidget().buttonSmartMore().setVisible(false);
} }
} else { } else {
dialogWidget().smartStatusText().setText(xi18nc("@label", "(unknown)")); //TODO: add Volume Manger Device info
dialogWidget().type().setText(xi18nc("@label device", "Volume Manager Device"));
dialogWidget().smartStatusText().setVisible(false);
dialogWidget().smartStatusIcon().setVisible(false); dialogWidget().smartStatusIcon().setVisible(false);
dialogWidget().buttonSmartMore().setVisible(false); dialogWidget().buttonSmartMore().setVisible(false);
} }