From cf14bdcac8d84d96fcb8b7d8dbb61d1f55ca2185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 20 Sep 2017 21:22:32 +0100 Subject: [PATCH] Use canonical device paths when comparing them. --- src/gui/editmountpointdialog.cpp | 1 + src/gui/editmountpointdialogwidget.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/editmountpointdialog.cpp b/src/gui/editmountpointdialog.cpp index d45694b..329e870 100644 --- a/src/gui/editmountpointdialog.cpp +++ b/src/gui/editmountpointdialog.cpp @@ -72,6 +72,7 @@ void EditMountPointDialog::accept() QStringLiteral("reallyWriteMountPoints")) == KMessageBox::Cancel) return; + widget().acceptChanges(); if (writeMountpoints(widget().fstabEntries())) partition().setMountPoint(widget().editPath().text()); else diff --git a/src/gui/editmountpointdialogwidget.cpp b/src/gui/editmountpointdialogwidget.cpp index 48dd4b9..d239c6d 100644 --- a/src/gui/editmountpointdialogwidget.cpp +++ b/src/gui/editmountpointdialogwidget.cpp @@ -51,7 +51,9 @@ EditMountPointDialogWidget::EditMountPointDialogWidget(QWidget* parent, const Pa bool entryFound = false; for (auto &e : m_fstabEntries) { - if (e.deviceNode() == m_deviceNode) { // FIXME kernel paths, fix multiple mountpoints + QString canonicalEntryPath = QFileInfo(e.deviceNode()).canonicalFilePath(); + QString canonicalDevicePath = QFileInfo(m_deviceNode).canonicalFilePath(); + if (canonicalEntryPath == canonicalDevicePath) { // FIXME fix multiple mountpoints entryFound = true; entry = &e; }